910 Commits

Author SHA1 Message Date
Volker
fcaa15d22d Fix SWITCH start position detection and replace erroneous ValueStackManager 2018-08-11 18:12:40 +02:00
Volker
3e9c26f198 Add writeOpCode(int) for simpler handling of 2 byte opcodes 2018-08-11 16:18:01 +02:00
Volker
d7c13c018e Use the new Non-trapping float-to-int conversions for Java like behavior. 2018-08-11 15:46:20 +02:00
Volker
0822d9af8c END can not be outside of parent block 2018-08-10 20:35:17 +02:00
Volker
9b554b114b calculate the block type of a if block for the conditional operator. 2018-08-10 18:52:29 +02:00
Volker
4e4fa8a28f pass the ValueType to the return WasmBlockInstruction 2018-08-10 18:50:54 +02:00
Volker
b78e6054c6 Add getPopCount() 2018-08-10 18:25:38 +02:00
Volker
cd8dd10182 Add method getPushValueType() 2018-08-06 12:52:44 +02:00
Volker
d3e80bf709 Move method name creation into WasmCallInstruction 2018-08-06 12:46:18 +02:00
Volker
d16b2b63c2 Add constructor with ConstantRef 2018-08-06 12:44:47 +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
b1eb27c474 support dynamic result type for an if block 2018-08-05 14:45:18 +02:00
Volker
c8aecea7ab Add getLastValueType() 2018-08-05 14:40:56 +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
cc742b6259 docu 2018-08-03 18:29:53 +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
fbe2d97fc6 Add negateCompare() and fix typos in method names. 2018-08-03 17:25:31 +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
e1fa502b2d docu 2018-08-03 12:50:12 +02:00
Volker
f2942bffc5 Improve the loop compiling and add support for while{} loops with condition on loop start. 2018-08-02 12:18:31 +02:00
Volker
9c1215720d fix non i32 compare operations 2018-08-02 12:13:54 +02:00
Volker
4ce2fed5fa add method for patching code position 2018-08-02 12:12:51 +02:00
Volker
3a74ebbe20 Finish refactoring with an intermediate model in the memory of WASM instructions. 2018-07-27 23:27:27 +02:00
Volker
d81da1f342 Use byte values for ValeTypes instead of Varint values. Prepare for ref
values.
2018-07-27 18:30:04 +02:00
Volker
776cf133bc Use UNREACHABLE operation after endless loop. 2018-07-27 17:51:36 +02:00
Volker
bab58acebe add branch operation after the creating the in memory model and not on
parsing.
2018-07-15 18:06:25 +02:00
Volker
949e3d2aa2 add method getCodePosition() 2018-07-15 18:04:18 +02:00
Volker
82ad07dd9e Add a placeholder instruction 2018-07-15 18:02:44 +02:00
Volker
dde69e55c9 Add java code position to the WasmInstruction 2018-07-09 17:18:15 +02:00
Volker
24bfe22a51 Use an intermediate model in the memory of the parsed Java bytecode. 2018-06-21 18:49:55 +02:00
Volker
95afeb17a7 Next step of refactoring with an intermediate model in the memory of
WASM instructions.
2018-06-21 18:29:20 +02:00
Volker
c6ca470003 Move the end handling of a method into writeCode() to hold all code
operation together
2018-06-21 18:09:19 +02:00
Volker
7c9a081e96 First step of refactoring with an intermediate model in the memory of
the parsed Java bytecode.
2018-06-17 21:15:58 +02:00
Volker
0d72c9cd50 use annotation package from library 2018-06-11 19:06:03 +02:00
Volker
e6093fa495 fix JavaDoc 2018-06-10 21:00:51 +02:00
Volker Berlin
ecd61dcde7 Use a single CoeInputStream pro method instead chucks pro line number 2018-06-03 11:54:45 +02:00
Volker Berlin
0c83869a81 support the do while(condition) loop 2018-06-02 23:57:04 +02:00
Volker Berlin
9b3993450e Fix "switch" with multiple "case" values for one block. 2018-06-01 22:04:34 +02:00
Volker Berlin
dea54b631c Split ModuleWriter in ModuleWrite and ModuleGenerator 2018-06-01 19:44:40 +02:00
Volker Berlin
4a5518c69a write import function parameters 2018-05-31 21:35:01 +02:00
Volker Berlin
ce78f9fe7a Remove duplicate function types from type section. 2018-05-30 21:19:01 +02:00
Volker Berlin
19edad4898 extra return only if needed 2018-05-30 20:41:19 +02:00
Volker Berlin
6ffd004c2b Add return values of method calls to the stack manager 2018-05-30 19:59:45 +02:00
Volker Berlin
7d53f8d549 handle function call to imported function. 2018-05-30 19:26:34 +02:00
Volker Berlin
88a584cd63 First step to support imports. 2018-05-30 18:57:36 +02:00
Volker Berlin
3e207615ac add method getAnnotation 2018-05-30 18:31:17 +02:00
Volker Berlin
a94bf26365 extract class FunctionName 2018-05-21 14:29:32 +02:00
Volker Berlin
64fb45a6c5 fix compare operators 2018-05-20 16:11:27 +02:00