Volker Berlin
|
b35279a960
|
The needThis flag must be set already on marking a function as needing. If it will set on scan it is to late for stack calculation.
|
2021-04-17 20:27:28 +02:00 |
|
Volker Berlin
|
cf7e66901d
|
Add support for complex block types
|
2021-02-27 20:40:30 +01:00 |
|
Volker Berlin
|
99e406958f
|
Type specific NULL constant values.
|
2021-02-14 16:27:10 +01:00 |
|
Volker Berlin
|
3e42160655
|
implement more Lambda stuff
|
2021-01-23 22:16:16 +01:00 |
|
Volker Berlin
|
536fe8385f
|
need also to use the component type for object array get/set instructions
|
2021-01-03 14:50:50 +01:00 |
|
Volker Berlin
|
4d2dfdeaa2
|
use array.get_s/get_u for packed array types (i8/i16)
|
2021-01-02 21:43:02 +01:00 |
|
Volker Berlin
|
856194dbce
|
fix type handling for NUL values with GC support
|
2020-09-24 21:46:02 +02:00 |
|
Volker Berlin
|
b9a904ab42
|
Fix array class name for more complex object arrays
|
2020-09-23 19:47:06 +02:00 |
|
Volker Berlin
|
13e99875b0
|
implements class name for array objects
|
2020-07-08 20:54:16 +02:00 |
|
Volker Berlin
|
cfbadfa226
|
anyref --> externref, add kind to ref.null and ref.is_null, https://github.com/WebAssembly/reference-types/pull/87
|
2020-05-30 23:06:29 +02:00 |
|
Volker Berlin
|
9416628961
|
invokeinterface has 2 unused bytes
|
2020-05-08 22:19:08 +02:00 |
|
Volker Berlin
|
11f338eea8
|
implements dup_x2 instruction
|
2020-04-25 22:22:18 +02:00 |
|
Volker Berlin
|
f15fb1cdf9
|
implements dup_x1 instruction
|
2020-04-25 19:31:30 +02:00 |
|
Volker Berlin
|
e533c97d0f
|
throw an ArithmeticException on a division by zero of integer values
|
2020-04-19 19:29:14 +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
|
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
|
c52bc2a0fe
|
Rewrite stack analyze to handle conditional parameters on the stack.
|
2020-03-29 14:31:58 +02:00 |
|
Volker Berlin
|
d3f7069cc8
|
pass the signature from synthetic functions to the wat parser.
|
2020-03-27 21:10:02 +01: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
|
a4040a8d3b
|
optimize the DUP instruction, only use a temp local variable if needed.
|
2020-03-01 19:02:49 +01:00 |
|
Volker Berlin
|
8379416cb8
|
add support for multi dimension array allocation
|
2020-02-09 18:05:31 +01:00 |
|
Volker Berlin
|
ce05e7aa5d
|
remove obsolete hack
|
2020-02-01 20:31:27 +01:00 |
|
Volker Berlin
|
5410764249
|
implement CAST operation, WIP
|
2020-02-01 20:29:29 +01:00 |
|
Volker Berlin
|
8c12f5a3c9
|
implement "instanceof", WIP
|
2020-02-01 16:49:52 +01:00 |
|
Volker Berlin
|
43b41d4fad
|
interface call, WIP
|
2020-01-25 23:42:22 +01:00 |
|
Volker Berlin
|
45b5a4a955
|
InvokeDynamic, WIP
|
2020-01-25 21:17:42 +01:00 |
|
Volker Berlin
|
10b754e3e3
|
Use a Placeholder Instruction for Java DUP opertions.
|
2019-11-16 19:17:22 +01:00 |
|
Volker Berlin
|
ca9efce370
|
constant pool can also contains string constants
|
2019-11-03 13:52:07 +01:00 |
|
Volker Berlin
|
be12f047dd
|
move some helper method into the parent
|
2019-10-02 18:56:35 +02:00 |
|
Volker Berlin
|
d1bb7cac23
|
pass the method with signature to the VariableManager as fallback
|
2019-09-23 20:33:21 +02:00 |
|
Volker Berlin
|
713020ef60
|
add "ref_eq" polyfill function
|
2019-09-08 21:45:28 +02:00 |
|
Volker Berlin
|
083ebf263e
|
improve the type handling of arrays
|
2019-08-21 20:52:12 +02:00 |
|
Volker Berlin
|
0b28099674
|
Add ArrayType and improve the Java type parser.
|
2019-08-14 20:07:39 +02:00 |
|
Volker Berlin
|
7667c1a080
|
rename ArrayOpertion.LENGTH -> LEN for more consistency
|
2019-08-11 13:06:31 +02:00 |
|
Volker Berlin
|
5883adc2af
|
pass the compiler properties to sub classes
|
2019-08-08 19:28:27 +02:00 |
|
Volker Berlin
|
8f09d4d04a
|
detect all needed types in the prepare phase
|
2019-05-19 11:14:32 +02:00 |
|
Volker Berlin
|
983d78de54
|
next step in handling virtual methods
|
2019-05-14 21:47:49 +02:00 |
|
Volker Berlin
|
272fa76af0
|
Write the type of Object fields in structs as ref type instead of anyref.
|
2019-04-26 17:28:57 +02:00 |
|
Volker Berlin
|
e8a4613d74
|
split addStructInstruction()
|
2019-04-24 19:54:30 +02:00 |
|
Volker Berlin
|
02a2e9d8ff
|
Write also the fields of super classes in the struct description.
|
2019-04-21 21:33:22 +02:00 |
|
Volker Berlin
|
09b817117a
|
Generalize the usage of SyntheticFuctionName
|
2019-04-20 18:44:23 +02:00 |
|
Volker Berlin
|
cb65505596
|
use temporary variables for a DUP instead a function call with multiple return types because SpiderMonkey it does not support it currently and it also seems more efficient.
|
2019-04-19 10:58:00 +02:00 |
|
Volker Berlin
|
481bffe31a
|
Fix the type of array.get operation. Before it was ever i32 from array index.
|
2019-04-17 18:26:52 +02:00 |
|
Volker Berlin
|
9653520c2b
|
Rewrite the LocalVariableManager to handle the Java reuse of a variable slot with different type.
|
2019-04-14 14:29:09 +02:00 |
|
Volker Berlin
|
0ad94fbc56
|
Fix the lineNumer in some WasmExceptions
|
2019-04-14 14:06:56 +02:00 |
|
Volker Berlin
|
cd7e20f5ed
|
pass the LocalVariableTable and the code position of variable using to the VariableManager
|
2019-04-06 17:51:29 +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
|
7ce99bec72
|
throw an exception for old byte code instructions
|
2019-03-23 16:05:14 +01:00 |
|
Volker Berlin
|
0b3c1987f5
|
first support for "goto_w" Java bytecode instruction
|
2019-03-20 19:11:38 +01:00 |
|