60 Commits

Author SHA1 Message Date
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
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
0d0e606983 Pass the StructType of WasmStructInstruction to the LocalevariableManager 2019-01-23 20:27:57 +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
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
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
bfc6cbb3f0 add TypeManager 2018-12-19 20:10:26 +01:00
Volker Berlin
bc2975683a add getType() to WasmInstruction 2018-12-16 18:22:44 +01:00
Volker Berlin
5d237c2ae1 remove unused code 2018-12-16 11:23:35 +01:00
Volker Berlin
7701ce6993 write extra parameter for instance methods (non static) 2018-12-13 22:32:51 +01:00
Volker Berlin
d4012a751f compile on the fly only the needed instead all given 2018-12-13 20:05:13 +01:00
Volker Berlin
01dcb85b36 reduce the preparing and write more on the fly 2018-12-11 22:38:53 +01:00
Volker Berlin
ae08d21281 reorganize 2018-12-03 21:09:22 +01:00
Volker Berlin
4104a87597 fix java signature parsing with multiple return types 2018-11-29 18:35:56 +01:00
Volker Berlin
e9b7597eda Write also missing library functions 2018-11-25 15:11:42 +01:00
Volker Berlin
51b58e2a79 Add a function manager to add functions on demand. 2018-11-24 21:54:30 +01:00
Volker Berlin
2c792f4a4f add method addLibrary 2018-11-21 19:44:05 +01:00
Volker Berlin
c6897d8bf4 simplify the internal API 2018-11-18 13:22:45 +01:00
Volker Berlin
03b8e68ccb add signature to WasmTextCode to support more as one return value 2018-11-18 12:50:54 +01:00
Volker Berlin
d252b1b202 support WasmTextCode annotation 2018-11-16 20:38:37 +01:00
Volker Berlin
0227137e2e use constants for annotations 2018-11-16 17:46:10 +01:00
Volker Berlin
101b759acb Add the Member interface to generalize the API usage 2018-11-10 10:46:36 +01:00
Volker Berlin
74e6c0db06 Split the ModuleGenerator in WasmCodeBuilder and ModuleGenerator 2018-11-04 20:28:42 +01:00
Volker Berlin
f15e9c8341 experimental exception handling 2018-11-03 18:01:42 +01:00
Volker Berlin
ce3e2d7546 improve exception message 2018-10-13 21:51:34 +02:00
Volker Berlin
563075a578 write local method names if DebugNames is enabled 2018-10-13 18:10:05 +02:00
Volker
41e66c8a14 Add more TODO for open opcodes 2018-08-14 22:34:53 +02:00
Volker
6ade59d02d fix structure problems with globals in text writer. 2018-08-14 22:09:01 +02:00
Volker
658b859b62 Fix the signum of compare operations in the text format. 2018-08-14 21:28:17 +02:00
Volker
dd29280641 Add support for global (static) variables 2018-08-14 15:11:21 +02:00
Volker
c269bae443 Move method getValueType() into class ValueType. 2018-08-14 12:14:36 +02:00
Volker
758557f76b Fix getTempI32() that it work without the removed prepare phase. 2018-08-11 20:36:09 +02:00
Volker
fcaa15d22d Fix SWITCH start position detection and replace erroneous ValueStackManager 2018-08-11 18:12:40 +02:00
Volker
4e4fa8a28f pass the ValueType to the return WasmBlockInstruction 2018-08-10 18:50:54 +02:00
Volker
d3e80bf709 Move method name creation into WasmCallInstruction 2018-08-06 12:46:18 +02:00
Volker
a736f41eb4 generalize exception handling 2018-08-06 12:23:42 +02:00
Volker
ff3662db43 The different writeConst summarized to one method 2018-08-05 18:27:06 +02:00
Volker
a27733234f use experimental Sign-extension operators 2018-08-03 21:49:42 +02:00
Volker
0df046a644 add TODO for not implemented byte codes 2018-08-03 19:41:21 +02:00
Volker
e3764913c3 negate compare condition of if operations in the branch manager instead on parsing the byte code. 2018-08-03 18:04:08 +02:00
Volker
ce82010721 pass the compare instruction of an IF operation to the branch manager 2018-08-03 15:17:07 +02:00
Volker
9c1215720d fix non i32 compare operations 2018-08-02 12:13:54 +02:00