194 Commits

Author SHA1 Message Date
Volker Berlin
dea54b631c Split ModuleWriter in ModuleWrite and ModuleGenerator 2018-06-01 19:44:40 +02:00
Volker Berlin
50648d74a1 test for calling a import function 2018-05-31 21:35:51 +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
d06899b669 Add Import annotation 2018-05-21 14:30:33 +02:00
Volker Berlin
a94bf26365 extract class FunctionName 2018-05-21 14:29:32 +02:00
Volker Berlin
7c0e5d84fb first loop test 2018-05-20 16:16:11 +02:00
Volker Berlin
64fb45a6c5 fix compare operators 2018-05-20 16:11:27 +02:00
Volker Berlin
675d0e76d6 remove unneeded code 2018-05-20 15:57:38 +02:00
Volker Berlin
acb55beabc write dead code at a function end if needed to produce well formatted
WASM code.
2018-05-20 15:56:24 +02:00
Volker Berlin
83013cd5f2 write the last end operators 2018-05-20 14:49:42 +02:00
Volker Berlin
4c1b53a6d0 Add coverage test 2018-05-20 13:08:06 +02:00
Volker Berlin
906e5e0481 Add coverage test 2018-05-20 12:51:03 +02:00
Volker Berlin
c8ef4fd3c7 first steps to compile loops 2018-05-20 11:54:06 +02:00
Volker Berlin
652d6c3d6a Add support for the loop operator 2018-05-20 11:52:16 +02:00
Volker Berlin
2cb0988e68 Implements more if(compare) operation codes 2018-05-12 13:48:07 +02:00
Volker Berlin
b29adc7437 extract method prepareSwitchCode() 2018-05-12 10:18:33 +02:00
Volker Berlin
59757b3927 make difference between tableswitch and lookupswitch clearer 2018-05-12 09:59:42 +02:00
Volker Berlin
6a7744e228 extract method writeSwitchCode() 2018-05-12 09:48:09 +02:00
Volker Berlin
6c971c6525 implements lookupswitch 2018-05-11 22:07:22 +02:00
Volker Berlin
61c7f8edf4 Add support for a temporary local variable to reused values on the
stack.
2018-05-11 22:05:20 +02:00
Volker Berlin
5ea2eff713 implements if_br 2018-05-11 21:39:04 +02:00
Volker Berlin
0f7a7adf69 Add the BR_IF operator 2018-05-11 21:10:08 +02:00
Volker Berlin
66931d810d add TEE_LOCAL, GET_GLOBAL, SET_GLOBAL 2018-05-11 17:00:34 +02:00
Volker Berlin
e36f370c67 improve debug output 2018-05-11 12:21:14 +02:00
Volker Berlin
aee3e01cba Use LocalVariableManager instead the LocalVariableTable from Java.
Improve the use of the ValueStackManager.
2018-05-11 12:04:24 +02:00
Volker Berlin
bc66cfa70e Add a local variable manager 2018-05-11 11:55:55 +02:00
Volker Berlin
20da7f8fdd ApiDoc 2018-05-11 11:48:40 +02:00
Volker Berlin
91287c9fd3 some Java compiler use lookupswitch for a switch with one case 2018-05-08 22:35:44 +02:00
Volker Berlin
903c2e0e28 first switch test 2018-05-08 22:21:22 +02:00
Volker Berlin
3fa6f5670e convert the GOTO in a switch into "br" 2018-05-08 22:20:33 +02:00
Volker Berlin
b06b368574 subtract switch start value to compatible with br_table 2018-05-08 18:10:52 +02:00
Volker Berlin
0ece5f2dfe use the ValueStackManager to start the switch block on the value
declaration
2018-05-07 18:46:15 +02:00
Volker Berlin
f75b770200 remove not needed file types 2018-05-07 18:43:45 +02:00
Volker Berlin
6d382e973a Initial version of stack value manager 2018-05-07 18:42:50 +02:00
Volker Berlin
57fca76063 make private again 2018-05-06 14:33:22 +02:00
Volker Berlin
e97da2b166 For Tool Developer added 2018-05-06 11:39:50 +02:00
Volker Berlin
8ed4a37413 handle the table switch operation 2018-05-05 21:43:30 +02:00
Volker Berlin
7f92d062e9 implements br_table 2018-05-05 21:39:36 +02:00
Volker Berlin
a7fc8e0fc6 print debug details also on errors. 2018-05-05 21:37:37 +02:00
Volker Berlin
ac9758334d Split BlockOperator; handle the br operator 2018-05-04 20:52:54 +02:00
Volker Berlin
79e1876100 parse instarction tableswitch and lookupswitch 2018-05-03 22:58:53 +02:00
Volker Berlin
987d26de64 handle the block operator 2018-05-03 22:57:44 +02:00
Volker Berlin
02c76d407e docu 2018-05-03 22:53:39 +02:00
Volker Berlin
babff867ae ignore reuse variable 2018-05-02 19:53:34 +02:00