32 Commits

Author SHA1 Message Date
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
7ce99bec72 throw an exception for old byte code instructions 2019-03-23 16:05:14 +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
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
fb3ed8795e Add UNREACHABLE also if the branchkmanger adds some blocks instructions 2019-03-03 21:33:09 +01:00
Volker Berlin
cd2f07733d improve the compiling of exceptions 2019-03-02 21:54:27 +01:00
Volker Berlin
09a9e66e42 Fix missing END of TRY CATCH with RETURN in CATCH block. 2019-02-23 14:59:43 +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
24f1c24a84 Cleanup 2019-01-23 20:24:47 +01:00
Volker Berlin
145a39079b use AnyType instead ValueType in the VariableManager 2019-01-20 19:58:23 +01:00
Volker Berlin
29911bc586 use synthetic method for dup instruction to handle the type dynamically 2019-01-20 10:41:33 +01:00
Volker Berlin
1376af2f3f Rename StorageType to AnyType. 2019-01-14 20:09:00 +01:00
Volker Berlin
522f25c326 improve supported array opertions 2019-01-13 14:42:24 +01:00
Volker Berlin
caa59cab83 implements struct.get/set 2019-01-13 11:36:07 +01:00
Volker Berlin
56fdf9018d write the struct type into the type section 2019-01-06 16:29:26 +01:00
Volker Berlin
bfc6cbb3f0 add TypeManager 2018-12-19 20:10:26 +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
Volker Berlin
9958a2bed9 implements instruction aconst_null 2018-12-14 20:50:08 +01:00
Volker Berlin
2410694151 implements invokespecial 2018-12-14 19:59:49 +01:00
Volker Berlin
d7b283e73a replace anyref temporary with i64 2018-12-12 22:44:05 +01:00
Volker Berlin
461d62a321 split findPreviousPushInstruction() for the 2 different use cases 2018-12-12 19:38:20 +01:00
Volker Berlin
c6800a895b experimental code for structs 2018-12-05 22:14:26 +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
b2a359746d more dup operations 2018-11-26 20:35:50 +01:00
Volker Berlin
5ca933f540 First step for internal library functions 2018-11-18 20:21:08 +01:00
Volker Berlin
4fd7d44263 Improve WasmCodeBuilder for later use with WatParser. 2018-11-09 20:14:30 +01:00
Volker Berlin
74e6c0db06 Split the ModuleGenerator in WasmCodeBuilder and ModuleGenerator 2018-11-04 20:28:42 +01:00