280 Commits

Author SHA1 Message Date
Volker Berlin
a0ddb00a73 pass the method with signature to the VariableManager as fallback 2019-09-23 21:24:46 +02:00
Volker Berlin
d1bb7cac23 pass the method with signature to the VariableManager as fallback 2019-09-23 20:33:21 +02:00
Volker Berlin
53319942ae set initial values of non GC struct values 2019-09-15 15:42:50 +02:00
Volker Berlin
5295096d89 fix parameter order of nonGC polyfill call 2019-09-14 22:59:12 +02:00
Volker Berlin
6ddf5b1c85 write memory/data section also with nonGC polyfill 2019-09-14 21:26:46 +02:00
Volker Berlin
c8e8c09a8e improve NonGC polyfill 2019-09-14 15:22:25 +02:00
Volker Berlin
9293bfa9f2 fix the signatures of the polyfill functions 2019-09-13 21:05:47 +02:00
Volker Berlin
d4a2214131 Move duplicated code from implementations of writeVirtualFunctionCall() into the caller WasmCallIndirectInstruction 2019-09-13 20:04:03 +02:00
Volker Berlin
b2f1fbc195 call ref_eq polyfill in non gc mode 2019-09-10 21:41:50 +02:00
Volker Berlin
b4d2f6caa2 use WasmOptions on more places for consistency 2019-09-10 17:49:05 +02:00
Volker Berlin
c1041325b7 add WasmOptions to reduce boilerplate code 2019-09-09 21:07:45 +02:00
Volker Berlin
713020ef60 add "ref_eq" polyfill function 2019-09-08 21:45:28 +02:00
Volker Berlin
4e3c11553f prepare the polyfill of struct/Object instruction 2019-09-08 13:55:22 +02:00
Volker Berlin
ebf3673ef6 Prepare support for SyntheticFunctionName for imported JavaScript functions 2019-09-07 21:24:17 +02:00
Volker Berlin
6ea1955886 Fix the stack value of array new. 2019-08-27 20:41:00 +02:00
Volker Berlin
083ebf263e improve the type handling of arrays 2019-08-21 20:52:12 +02:00
Volker Berlin
0b28099674 Add ArrayType and improve the Java type parser. 2019-08-14 20:07:39 +02:00
Volker Berlin
32e609b32f use GC Feature of the JavaScript host for arrays as replacement for the missing GC feature in WASM 2019-08-11 13:11:22 +02:00
Volker Berlin
7667c1a080 rename ArrayOpertion.LENGTH -> LEN for more consistency 2019-08-11 13:06:31 +02:00
Volker Berlin
615efbd11f use class and method name as default import setting if not set 2019-08-09 21:58:42 +02:00
Volker Berlin
5883adc2af pass the compiler properties to sub classes 2019-08-08 19:28:27 +02:00
Volker Berlin
9faeb626a9 fix file name of JavaScript output with text output format. 2019-08-08 18:23:44 +02:00
Volker Berlin
20d2b7f44e improve error messages 2019-08-08 17:47:57 +02:00
Volker Berlin
c66d7748a4 improve error message 2019-08-04 19:29:36 +02:00
Volker Berlin
fd24d852ee cast only to AnyType 2019-08-04 18:47:02 +02:00
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