Volker Berlin
|
f120c40de3
|
fix NPE with a string switch if the default case is not the last case block.
|
2020-03-05 22:30:36 +01:00 |
|
Volker Berlin
|
6923765683
|
add support for SWICH of strings
|
2020-03-05 21:31:15 +01:00 |
|
Volker Berlin
|
b1f775a33b
|
A goto to the next address is like a NOP operation
|
2020-01-05 20:32:26 +01:00 |
|
Volker Berlin
|
724f39dc18
|
Warning for multiple CATCH blocks
|
2019-11-28 20:07:51 +01:00 |
|
Volker Berlin
|
ec898cad71
|
skip ELSE blocks on counting the stack
|
2019-09-29 13:47:45 +02:00 |
|
Volker Berlin
|
432baef4b4
|
fix end detecting of ELSE block and sub structures in the THEN block.
|
2019-09-25 22:32:41 +02:00 |
|
Volker Berlin
|
40375316e2
|
detect some optimization of GOTO jumps
|
2019-09-25 19:24:01 +02:00 |
|
Volker Berlin
|
ccbc633463
|
handle complex IF conditions
|
2019-08-02 22:39:04 +02:00 |
|
Volker Berlin
|
215d8ff70e
|
calculate also the THEN position of an IF control structure
|
2019-08-02 11:11:10 +02:00 |
|
Volker Berlin
|
be77f59ac0
|
Add support for OR concatenated IF conditions
|
2019-07-29 19:15:47 +02:00 |
|
Volker Berlin
|
a019647094
|
fix && operator in if expression
|
2019-07-26 23:05:54 +02:00 |
|
Volker Berlin
|
b65027f156
|
fix push/pop value of compare instructions
|
2019-07-23 18:23:59 +02:00 |
|
Volker Berlin
|
cba37f1cef
|
remove debug code
|
2019-04-02 20:57:00 +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
|
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
|
86defc3792
|
improve exception handling
|
2019-03-09 13:22:40 +01:00 |
|
Volker Berlin
|
cd2f07733d
|
improve the compiling of exceptions
|
2019-03-02 21:54:27 +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
|
145a39079b
|
use AnyType instead ValueType in the VariableManager
|
2019-01-20 19:58:23 +01:00 |
|
Volker Berlin
|
6196648cc0
|
add support for objects equals/not equals (if_acmpeq,if_acmpne)
|
2018-12-17 21:22:10 +01:00 |
|
Volker Berlin
|
ad30f90f48
|
implements ifnull and ifnotnull
|
2018-12-15 22:33:25 +01:00 |
|
Volker Berlin
|
ae08d21281
|
reorganize
|
2018-12-03 21:09:22 +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
|
658b859b62
|
Fix the signum of compare operations in the text format.
|
2018-08-14 21:28:17 +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
|
b1eb27c474
|
support dynamic result type for an if block
|
2018-08-05 14:45:18 +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
|
bab58acebe
|
add branch operation after the creating the in memory model and not on
parsing.
|
2018-07-15 18:06:25 +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 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
|
675d0e76d6
|
remove unneeded code
|
2018-05-20 15:57:38 +02:00 |
|
Volker Berlin
|
c8ef4fd3c7
|
first steps to compile loops
|
2018-05-20 11:54:06 +02:00 |
|
Volker Berlin
|
59757b3927
|
make difference between tableswitch and lookupswitch clearer
|
2018-05-12 09:59:42 +02:00 |
|
Volker Berlin
|
6c971c6525
|
implements lookupswitch
|
2018-05-11 22:07:22 +02:00 |
|
Volker Berlin
|
3fa6f5670e
|
convert the GOTO in a switch into "br"
|
2018-05-08 22:20:33 +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
|
57fca76063
|
make private again
|
2018-05-06 14:33:22 +02:00 |
|
Volker Berlin
|
8ed4a37413
|
handle the table switch operation
|
2018-05-05 21:43:30 +02:00 |
|
Volker Berlin
|
ac9758334d
|
Split BlockOperator; handle the br operator
|
2018-05-04 20:52:54 +02:00 |
|