85 Commits

Author SHA1 Message Date
Volker Berlin
d4a2214131 Move duplicated code from implementations of writeVirtualFunctionCall() into the caller WasmCallIndirectInstruction 2019-09-13 20:04:03 +02:00
Volker Berlin
b4d2f6caa2 use WasmOptions on more places for consistency 2019-09-10 17:49:05 +02:00
Volker Berlin
90126b16da duplicate the this on stack before a virtual method call invoke 2019-06-09 21:09:05 +02:00
Volker Berlin
1ee77584d9 write the vtable of objects to the data section. Use the vtable offset into the data section in the new operation of objects. 2019-06-09 17:17:47 +02:00
Volker Berlin
c410adc636 define the types in the prepare phase. 2019-06-04 18:09:34 +02:00
Volker Berlin
557c348ed7 extract writeMethodParamStart() from writeMethodStart() and prepareImport() 2019-06-02 11:44:28 +02:00
Volker Berlin
748b7e5b89 Api Doc 2019-05-20 22:23:40 +02:00
Volker Berlin
625e5fbef7 pass the type to a virtual function call 2019-05-20 21:28:46 +02:00
Volker Berlin
30efaaed95 pass virtual function index 2019-05-18 21:37:19 +02:00
Volker Berlin
4e98efeb5d prepare the using of call_indirect 2019-05-05 17:25:43 +02:00
Volker Berlin
fbc687ee92 Use ref types alps in globals 2019-04-27 21:14:55 +02:00
Volker Berlin
b7323776d1 Use index for fields of structs in text format until there are better naming rules. 2019-04-22 15:56:11 +02:00
Volker Berlin
02a2e9d8ff Write also the fields of super classes in the struct description. 2019-04-21 21:33:22 +02:00
Volker Berlin
ce93ce517e Write a source map if DebugNames is enabled. #6 2019-03-31 13:29:40 +02:00
Volker Berlin
7d8424a2b0 pass sourcefile for a source map. #6 2019-03-28 18:26:25 +01:00
Volker Berlin
97b7b9dafd passing code position for a source map. #6 2019-03-26 18:21:20 +01:00
Volker Berlin
2d2a5f4b68 write event section if exception handling is used. 2019-02-27 21:55:55 +01:00
Volker Berlin
f5ed8aeeb6 get_local --> local.get, set_local --> local.set, see #3 2019-02-20 21:42:52 +01:00
Volker Berlin
1376af2f3f Rename StorageType to AnyType. 2019-01-14 20:09:00 +01:00
Volker Berlin
caa59cab83 implements struct.get/set 2019-01-13 11:36:07 +01:00
Volker Berlin
9ac92316f6 Write the real type of StructType instead anytype 2019-01-11 22:21:59 +01:00
Volker Berlin
56fdf9018d write the struct type into the type section 2019-01-06 16:29:26 +01:00
Volker Berlin
01dcb85b36 reduce the preparing and write more on the fly 2018-12-11 22:38:53 +01:00
Volker Berlin
c6800a895b experimental code for structs 2018-12-05 22:14:26 +01:00
Volker Berlin
f5e5d11af7 Add interface StorageType for struct support 2018-12-04 21:06:41 +01:00
Volker Berlin
ae08d21281 reorganize 2018-12-03 21:09:22 +01:00
Volker Berlin
74dcb4dc09 experimental code for arrays 2018-12-02 19:54:59 +01:00
Volker Berlin
d8de454a3f pass through FunctionName object 2018-11-24 16:14:52 +01:00
Volker Berlin
101b759acb Add the Member interface to generalize the API usage 2018-11-10 10:46:36 +01:00
Volker Berlin
563075a578 write local method names if DebugNames is enabled 2018-10-13 18:10:05 +02:00
Volker
6ade59d02d fix structure problems with globals in text writer. 2018-08-14 22:09:01 +02:00
Volker
dd29280641 Add support for global (static) variables 2018-08-14 15:11:21 +02:00
Volker
ff3662db43 The different writeConst summarized to one method 2018-08-05 18:27:06 +02:00
Volker Berlin
dea54b631c Split ModuleWriter in ModuleWrite and ModuleGenerator 2018-06-01 19:44:40 +02:00
Volker Berlin
4a5518c69a write import function parameters 2018-05-31 21:35:01 +02:00
Volker Berlin
19edad4898 extra return only if needed 2018-05-30 20:41:19 +02:00
Volker Berlin
6ffd004c2b Add return values of method calls to the stack manager 2018-05-30 19:59:45 +02:00
Volker Berlin
88a584cd63 First step to support imports. 2018-05-30 18:57:36 +02:00
Volker Berlin
a94bf26365 extract class FunctionName 2018-05-21 14:29:32 +02:00
Volker Berlin
64fb45a6c5 fix compare operators 2018-05-20 16:11:27 +02:00
Volker Berlin
acb55beabc write dead code at a function end if needed to produce well formatted
WASM code.
2018-05-20 15:56:24 +02:00
Volker Berlin
83013cd5f2 write the last end operators 2018-05-20 14:49:42 +02:00
Volker Berlin
2cb0988e68 Implements more if(compare) operation codes 2018-05-12 13:48:07 +02:00
Volker Berlin
b29adc7437 extract method prepareSwitchCode() 2018-05-12 10:18:33 +02:00
Volker Berlin
59757b3927 make difference between tableswitch and lookupswitch clearer 2018-05-12 09:59:42 +02:00
Volker Berlin
6a7744e228 extract method writeSwitchCode() 2018-05-12 09:48:09 +02:00
Volker Berlin
6c971c6525 implements lookupswitch 2018-05-11 22:07:22 +02:00
Volker Berlin
aee3e01cba Use LocalVariableManager instead the LocalVariableTable from Java.
Improve the use of the ValueStackManager.
2018-05-11 12:04:24 +02:00
Volker Berlin
91287c9fd3 some Java compiler use lookupswitch for a switch with one case 2018-05-08 22:35:44 +02:00
Volker Berlin
b06b368574 subtract switch start value to compatible with br_table 2018-05-08 18:10:52 +02:00