95 Commits

Author SHA1 Message Date
Volker Berlin
0f0928f4a8 handle duplicate function names/overloaded methods 2019-07-15 21:16:47 +02:00
Volker Berlin
abeec6cca4 NaN is written in lowercase in Wasm text format. 2019-07-14 17:24:39 +02:00
Volker Berlin
588ac6db47 implement reinterpret opcodes and use it in the WatParser. 2019-07-14 12:41:40 +02:00
Volker Berlin
c50c7d15c7 API doc 2019-06-30 15:18:09 +02:00
Volker Berlin
3709e9cc55 Generalize the usage of WasmTarget 2019-06-30 14:43:45 +02:00
Volker Berlin
ab39801cf4 imported functions need of course a signature. 2019-06-28 18:01:33 +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
d3bd4902fd Write the functions also in text format in the registered order. 2019-06-09 22:39:53 +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
6da4a93918 fix function count in table declaration 2019-06-04 18:56:53 +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
b8b751f909 fix NPE with import functions 2019-06-02 11:01:53 +02:00
Volker Berlin
57a2bd0827 save mapping between function and type. 2019-06-01 18:42:24 +02:00
Volker Berlin
6468df956f write the function type definitions to the text format 2019-06-01 13:29:29 +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
45d1731126 print (table) in a new line 2019-05-14 21:36:04 +02:00
Volker Berlin
cd4f1cf307 remove not needed parentheses after fix of spidermonkey 2019-05-09 21:41:39 +02:00
Volker Berlin
61c6523f14 Remove Hack for SpiderMonkey bug 2019-05-08 17:26:28 +02:00
Volker Berlin
4e98efeb5d prepare the using of call_indirect 2019-05-05 17:25:43 +02:00
Volker Berlin
8e439eb83e prepare the using of memory and data section 2019-05-01 17:11:14 +02:00
Volker Berlin
fbc687ee92 Use ref types alps in globals 2019-04-27 21:14:55 +02:00
Volker Berlin
3af321a076 Use a temporary hack for SpiderMonkey WasmTextToBinary 2019-04-22 16:21:02 +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
cc0ba1498d Struct type variables must declared as ref 2019-04-20 15:23:53 +02:00
Volker Berlin
efa65bb377 More normalize of names for SpiderMonkey 2019-04-19 20:29:20 +02:00
Volker Berlin
3095f29f3d floating point numbers must written with hexadecimal literals 2019-04-19 17:39:49 +02:00
Volker Berlin
decfdf77f1 SpiderMonkey required global initial values in parentheses 2019-04-19 17:39:03 +02:00
Volker Berlin
cfa3a4377e Patch the function names for SpiderMonkey to handle its limitation. 2019-04-19 16:00:43 +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
0b49204793 use declared local names for local.set/get 2019-03-14 22:10:35 +01:00
Volker Berlin
2e7370dcfd ignore monitorenter and monitorexit from synchronized blocks. see #5 2019-03-10 18:32:26 +01:00
Volker Berlin
cd2f07733d improve the compiling of exceptions 2019-03-02 21:54:27 +01:00
Volker Berlin
2d2a5f4b68 write event section if exception handling is used. 2019-02-27 21:55:55 +01:00
Volker Berlin
9bcc7347c1 Change the old text format to the new format. fix #3 2019-02-22 23:19:10 +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
7f55b23c7a set all fields mutable 2019-01-11 20:06:48 +01:00
Volker Berlin
56fdf9018d write the struct type into the type section 2019-01-06 16:29:26 +01:00
Volker Berlin
0e02db9985 write function lazy to the output to hold space free for more meta informations 2019-01-01 12:26:32 +01:00
Volker Berlin
6196648cc0 add support for objects equals/not equals (if_acmpeq,if_acmpne) 2018-12-17 21:22:10 +01:00
Volker Berlin
ad30f90f48 implements ifnull and ifnotnull 2018-12-15 22:33:25 +01:00