383 Commits

Author SHA1 Message Date
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
fd43aca97b Move the analyzing and writing of types in the TypeManager 2019-05-19 15:17:30 +02:00
Volker Berlin
8f09d4d04a detect all needed types in the prepare phase 2019-05-19 11:14:32 +02:00
Volker Berlin
30efaaed95 pass virtual function index 2019-05-18 21:37:19 +02:00
Volker Berlin
5826d6dded add field vtable 2019-05-17 21:40:38 +02:00
Volker Berlin
983d78de54 next step in handling virtual methods 2019-05-14 21:47:49 +02:00
Volker Berlin
f0d3027553 Replace a function name in call with its supper method if real target name does not exists. 2019-05-12 18:38:11 +02:00
Volker Berlin
aa1ed68b3f scanning the Java methods on prepare 2019-05-11 20:53:30 +02:00
Volker Berlin
0b7fa50520 next step for scanning on prepare 2019-05-09 22:13:02 +02:00
Volker Berlin
f52bca35e4 Use a FunctionState in the FunctionManager for later improvements 2019-05-08 19:52:16 +02:00
Volker Berlin
a8d11b5b68 use weak cache for ClassFiles 2019-05-07 21:16:30 +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
272fa76af0 Write the type of Object fields in structs as ref type instead of anyref. 2019-04-26 17:28:57 +02:00
Volker Berlin
b08a986945 Write the "this" parameter type of a method as ref type instead of anyref. 2019-04-24 21:41:33 +02:00
Volker Berlin
e8a4613d74 split addStructInstruction() 2019-04-24 19:54:30 +02:00
Volker Berlin
a2a185be8a Search className and fieldName separately 2019-04-22 21:24:22 +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
2be6f1a3be Write the default/initial values before struct.new 2019-04-20 21:41:46 +02:00
Volker Berlin
09b817117a Generalize the usage of SyntheticFuctionName 2019-04-20 18:44:23 +02:00
Volker Berlin
cb65505596 use temporary variables for a DUP instead a function call with multiple return types because SpiderMonkey it does not support it currently and it also seems more efficient. 2019-04-19 10:58:00 +02:00
Volker Berlin
481bffe31a Fix the type of array.get operation. Before it was ever i32 from array index. 2019-04-17 18:26:52 +02:00
Volker Berlin
f0a0b0116b fix idx of hidden variables 2019-04-14 15:42:37 +02:00
Volker Berlin
9653520c2b Rewrite the LocalVariableManager to handle the Java reuse of a variable slot with different type. 2019-04-14 14:29:09 +02:00
Volker Berlin
0ad94fbc56 Fix the lineNumer in some WasmExceptions 2019-04-14 14:06:56 +02:00
Volker Berlin
cd7e20f5ed pass the LocalVariableTable and the code position of variable using to the VariableManager 2019-04-06 17:51:29 +02:00
Volker Berlin
cba37f1cef remove debug code 2019-04-02 20:57:00 +02:00
Volker Berlin
dd9eb4b049 write sourceMappingURL custom section 2019-04-01 16:17:41 +02:00
Volker Berlin
ce93ce517e Write a source map if DebugNames is enabled. #6 2019-03-31 13:29:40 +02:00
Volker Berlin
5e40f1603e pass the line number to the parsed instructions for a source map generation #6 2019-03-31 11:23:45 +02:00
Volker Berlin
0b1ff00ae5 next step for source map #6 2019-03-31 10:39:59 +02:00
Volker Berlin
ed4fac4cbd Add a target handler. 2019-03-30 22:23:36 +01: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
7ce99bec72 throw an exception for old byte code instructions 2019-03-23 16:05:14 +01:00
Volker Berlin
66945d2974 improve "goto_w" support 2019-03-21 21:14:21 +01:00
Volker Berlin
0b3c1987f5 first support for "goto_w" Java bytecode instruction 2019-03-20 19:11:38 +01:00
Volker Berlin
1b6fd3c7a5 Replace the fix length of 3 byte for GOTO with a nextPosition because goto_w use 5 bytes. 2019-03-19 19:35:42 +01:00
Volker Berlin
40d61c56a8 support for more as 255 variable slots added. 2019-03-13 22:09:21 +01:00
Volker Berlin
4bb145d116 Error message for native methods 2019-03-12 22:36:43 +01:00
Volker Berlin
c2be64a525 implements java bytecode frem and drem 2019-03-12 21:27:23 +01:00
Volker Berlin
2e7370dcfd ignore monitorenter and monitorexit from synchronized blocks. see #5 2019-03-10 18:32:26 +01:00
Volker Berlin
cd729d1b41 Optimize: merge local.set, local.get --> local.tee 2019-03-10 12:05:10 +01:00
Volker Berlin
86defc3792 improve exception handling 2019-03-09 13:22:40 +01:00
Volker Berlin
fb3ed8795e Add UNREACHABLE also if the branchkmanger adds some blocks instructions 2019-03-03 21:33:09 +01:00