305 Commits

Author SHA1 Message Date
Volker Berlin
ccbc633463 handle complex IF conditions 2019-08-02 22:39:04 +02:00
Volker Berlin
215d8ff70e calculate also the THEN position of an IF control structure 2019-08-02 11:11:10 +02:00
Volker Berlin
be77f59ac0 Add support for OR concatenated IF conditions 2019-07-29 19:15:47 +02:00
Volker Berlin
a019647094 fix && operator in if expression 2019-07-26 23:05:54 +02:00
Volker Berlin
3ec23fa3c9 more predictable function order depending the call dependency 2019-07-25 23:18:34 +02:00
Volker Berlin
d32244c60c fix getPopCount() and getPushValue() 2019-07-23 21:48:31 +02:00
Volker Berlin
b65027f156 fix push/pop value of compare instructions 2019-07-23 18:23:59 +02:00
Volker Berlin
8726bb92d6 use fine() log level because it is not enable by default 2019-07-21 13:55:29 +02:00
Volker Berlin
e37caf06b1 add logging 2019-07-19 22:29:34 +02:00
Volker Berlin
03ed725262 implements abs instruction 2019-07-17 18:45:36 +02:00
Volker Berlin
815cd2eec9 Only write a JS file if the target is a file. 2019-07-14 17:44:23 +02:00
Volker Berlin
588ac6db47 implement reinterpret opcodes and use it in the WatParser. 2019-07-14 12:41:40 +02:00
Volker Berlin
c64c620a38 more math operation for the text format (Watparser) 2019-07-13 15:46:20 +02:00
Volker Berlin
d960ece4a7 Add function signature to error message 2019-07-06 16:45:23 +02:00
Volker Berlin
d9e8b70d06 Use JavaScript imports generated from the imports declarations. 2019-07-03 20:09:22 +02:00
Volker Berlin
3709e9cc55 Generalize the usage of WasmTarget 2019-06-30 14:43:45 +02:00
Volker Berlin
6bcda0daa5 import only the needed functions to reduce the needed JS glue code 2019-06-23 20:50:11 +02:00
Volker Berlin
91ccf92796 If there a replacement method then use it also on scanning in prepare phase. 2019-06-22 11:11:14 +02:00
Volker Berlin
5ea58e30f8 Improve error message 2019-06-21 21:45:49 +02:00
Volker Berlin
0a4d03e974 Mark override methods as needed if the super methods are needed. 2019-06-10 11:39:19 +02:00
Volker Berlin
185e3e98d3 enable virtual methods/functions 2019-06-09 22:40:39 +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
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