73 Commits

Author SHA1 Message Date
Volker Berlin
f91f34c626 docu 2020-05-03 21:42:10 +02:00
Volker Berlin
fd27656b65 Does not unbox if exception handling is not supported. 2020-04-26 18:37:10 +02:00
Volker Berlin
f0828196b7 first multi catch support, WIP 2020-04-25 18:03:16 +02:00
Volker Berlin
063f035155 Correct catch code positions for a correct END of the CATCH. 2020-04-24 22:14:11 +02:00
Volker Berlin
d99eb77de8 fix drop exnref in a try/finally structure 2020-04-19 17:35:56 +02:00
Volker Berlin
df8aade0fa Support for multiple catch blocks, WIP 2020-04-19 12:05:35 +02:00
Volker Berlin
87359fb497 Simplify the try/catch structure 2020-04-18 13:09:11 +02:00
Volker Berlin
25423c6bb8 pass LocalvariableManager to the BranchManager to create temp variable for CATCh blocks. 2020-04-13 16:05:41 +02:00
Volker Berlin
cbf27fdfa6 fix the exception type check 2020-04-12 10:59:40 +02:00
Volker Berlin
d6a7ead579 fix the stack inspector for catch blocks 2020-04-12 10:44:53 +02:00
Volker Berlin
5b04573469 First type check of the Exception in an catch block. WIP 2020-04-11 17:04:21 +02:00
Volker Berlin
4c5c41eb5c add method name to the WasmException 2020-04-10 22:22:45 +02:00
Volker Berlin
c19a9ca9b6 Also try blocks skip 2020-04-10 16:32:06 +02:00
Volker Berlin
23da864f1d API Doc 2020-04-10 16:30:59 +02:00
Volker Berlin
432168f002 improve error handling in the BranchManager 2020-04-10 13:40:55 +02:00
Volker Berlin
03957b0988 Add a placeholder for jumps instructions to better inspect the stack. 2020-03-26 18:21:50 +01:00
Volker Berlin
63384e359a fix do while with multiple conditions 2020-03-21 21:16:10 +01:00
Volker Berlin
ab95396471 never break inside conditional operator 2020-03-21 15:58:50 +01:00
Volker Berlin
62b16ac07e Fix switch blocks with string cases and add tests. 2020-03-07 17:01:59 +01:00
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