305 Commits

Author SHA1 Message Date
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
Volker Berlin
cd2f07733d improve the compiling of exceptions 2019-03-02 21:54:27 +01:00
Volker Berlin
b9bbb1c56d improve error message 2019-03-02 21:52:56 +01:00
Volker Berlin
2d2a5f4b68 write event section if exception handling is used. 2019-02-27 21:55:55 +01:00
Volker Berlin
861ba5c62f Simplify the syntax for replace 2019-02-25 18:26:33 +01:00
Volker Berlin
7904f4026e Add support for Replace annotation to replace a single method. fix #4 2019-02-24 20:02:36 +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
6246840f90 Fix ArrayIndexOutOfRange with temp variable 2019-02-17 09:52:04 +01:00
Volker Berlin
99f7248fc8 fix NPE 2019-02-15 20:17:00 +01:00
Volker Berlin
c57e5d42cf fix local variable names 2019-02-15 20:02:13 +01:00
Volker Berlin
17acda9456 Start with the optimizer 2019-02-12 21:18:42 +01:00
Volker Berlin
ff345e68c2 normalization the local instruction 2019-01-27 21:13:48 +01:00
Volker Berlin
0d0e606983 Pass the StructType of WasmStructInstruction to the LocalevariableManager 2019-01-23 20:27:57 +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
a06a93dd37 remove unused classes 2019-01-20 17:41:10 +01:00
Volker Berlin
a8c5affb18 handle null values 2019-01-20 11:31:33 +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
238a281757 Move the call to ValueTypeParser into the FunctionName 2019-01-18 18:17:19 +01:00
Volker Berlin
b677355c0f Convert ValueTypeParser to an Iterator 2019-01-18 17:48:12 +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
9ac92316f6 Write the real type of StructType instead anytype 2019-01-11 22:21:59 +01:00
Volker Berlin
56fdf9018d write the struct type into the type section 2019-01-06 16:29:26 +01:00
Volker Berlin
53e7f88d1c add getTypes(), getName(), remain creation order 2019-01-01 11:43:11 +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