Nikolay Nikolov
|
f2d739b93a
+ perform WebAssembly validation, if the compiler is compiled with the
|
1 年之前 |
Nikolay Nikolov
|
f65e4f2385
* fixed bug in the handling of WebAssembly goto
|
1 年之前 |
Nikolay Nikolov
|
3defa34470
+ check whether all br instructions, generated by goto point to a pascal goto label
|
1 年之前 |
Nikolay Nikolov
|
31dff18a61
* refactored the taicpu_wasm_structured_instruction descendants to use a wstyp enum variable, instead of using the 'is' operator to determine the class type
|
1 年之前 |
Nikolay Nikolov
|
cf21365a21
* fixed and enabled the is_pascal_goto_target check
|
1 年之前 |
Nikolay Nikolov
|
84e2613ca8
* refactor: wasm_convert_to_flat_asmlist and wasm_convert_to_structured_asmlist now accept a single var parameter
|
1 年之前 |
Nikolay Nikolov
|
545978b290
* fixed the label resolution for asmlists with WebAssembly native exceptions
|
1 年之前 |
Nikolay Nikolov
|
5e9cf637d3
* fixed branch ordering in resolve_labels_via_state_machine
|
1 年之前 |
Nikolay Nikolov
|
6f942996a5
* fixes to the mangling of the entry and exit code during the state machine label resolution
|
1 年之前 |
Nikolay Nikolov
|
f9ecc12e5b
+ added label resolution via state machine
|
1 年之前 |
Nikolay Nikolov
|
fc9719f5f9
+ add the extra allocated locals before inserting the locals list in wasm32 tcpuprocinfo.postprocess_code
|
1 年之前 |
Nikolay Nikolov
|
d50ef3381f
* strip block instructions
|
1 年之前 |
Nikolay Nikolov
|
ce742b5b4d
* convert loop..end_loop blocks to flat list + branch instruction
|
1 年之前 |
Nikolay Nikolov
|
0f07c966b6
* convert if structured instructions to br_if + labels
|
1 年之前 |
Nikolay Nikolov
|
8b00598cab
* set the last=true property of the last tai_local in the locals list in the
|
1 年之前 |
Nikolay Nikolov
|
5b64e5b957
* insert the wasm locals asm list after resolve_labels_complex, since it will (in the future) be able to allocate more locals, in order to resolve the branches and goto
|
1 年之前 |
Nikolay Nikolov
|
e81cff0408
* moved the insertion of the wasm locals asmlist to a local subroutine
|
1 年之前 |
Nikolay Nikolov
|
0e39e7c12d
* moved the preparation of the locals asm list in tcpuprocinfo.postprocess_code to a local subroutine
|
1 年之前 |
Nikolay Nikolov
|
db23f54f8c
* Local var templist renamed localslist. No functional changes.
|
1 年之前 |
Nikolay Nikolov
|
edabca1447
+ added and implemented tcpuprocinfo.AllocWasmLocal
|
1 年之前 |
Nikolay Nikolov
|
bc7b113e09
+ convert wasm structured list to flat list
|
1 年之前 |
Nikolay Nikolov
|
3c19adda78
* moved the code that converts branch numbers to labels in the cpupi unit and call it from resolve_labels_complex
|
1 年之前 |
Nikolay Nikolov
|
3892bb265e
+ always call resolve_labels_complex, if DEBUG_WASM_GOTO is defined.
|
1 年之前 |
Nikolay Nikolov
|
6aa1f3686e
+ in case of unresolved labels, call resolve_labels_complex, which will eventually implement the stackifier algorithm. Currently, it converts the asmlist to structured.
|
1 年之前 |
Nikolay Nikolov
|
e74797d411
* replaced several internal errors, related to the WebAssembly labels
|
3 年之前 |
Nikolay Nikolov
|
7f1050464a
+ added 'else' tracking for the if..end_if blocks
|
3 年之前 |
Nikolay Nikolov
|
7bef4d827d
* keep track of the block stack, when resolving labels and check whether the
|
3 年之前 |
Nikolay Nikolov
|
12a2c56461
- removed thlcgwasm.incblock, .decblock and br_blocks, as branching is now done
|
3 年之前 |
Nikolay Nikolov
|
6fe647ee3d
* moved the default procedure CurrRaiseLabel to the end of the procedure, not
|
3 年之前 |
Nikolay Nikolov
|
470e77a572
+ added sanity check when resolving labels to ensure we don't get any jumps with
|
3 年之前 |