179 Commits

Author SHA1 Message Date
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
Volker Berlin
29ec5ace04 Improve error messages in BranchManager 2018-05-01 11:46:42 +02:00
Volker Berlin
7ba809ac86 implements "neg" instruction code 2018-04-02 19:15:42 +02:00
Volker Berlin
d78e958342 more numerical operation codes 2018-04-02 19:03:45 +02:00
Volker Berlin
cb778cdbdb TODO note 2018-04-02 12:07:55 +02:00
Volker Berlin
327d685d32 implements "pop" instruction code 2018-04-02 11:53:12 +02:00
Volker Berlin
6da8916a75 implements all data conversions instruction codes 2018-04-02 10:48:24 +02:00
Volker Berlin
f93b164476 status update 2018-04-02 10:46:03 +02:00
Volker Berlin
488c27a5f3 declare more type conversions 2018-04-02 10:41:09 +02:00
Volker Berlin
2dd7e2cb5c more data conversion op codes 2018-04-01 12:02:40 +02:00
Volker Berlin
405eb1ce99 fix ldc_w in prepareBranchManager 2018-04-01 11:33:15 +02:00
Volker Berlin
7b66756066 add support for the data types byte, short and char. 2018-03-31 19:34:27 +02:00
Volker Berlin
9c56f8b7ac more control flow operators 2018-03-31 19:28:58 +02:00
Volker Berlin
ffd3e1890b status update 2018-03-31 19:26:22 +02:00
Volker Berlin
97283a1d39 new branch manager with internal hierarchy. 2018-03-30 17:33:23 +02:00
Volker Berlin
e61ad1e1a0 status update 2018-03-28 20:09:35 +02:00