Nikolay Nikolov
|
5e9cf637d3
* fixed branch ordering in resolve_labels_via_state_machine
|
1 year ago |
Nikolay Nikolov
|
6f942996a5
* fixes to the mangling of the entry and exit code during the state machine label resolution
|
1 year ago |
Nikolay Nikolov
|
f9ecc12e5b
+ added label resolution via state machine
|
1 year ago |
Nikolay Nikolov
|
fc9719f5f9
+ add the extra allocated locals before inserting the locals list in wasm32 tcpuprocinfo.postprocess_code
|
1 year ago |
Nikolay Nikolov
|
d50ef3381f
* strip block instructions
|
1 year ago |
Nikolay Nikolov
|
ce742b5b4d
* convert loop..end_loop blocks to flat list + branch instruction
|
1 year ago |
Nikolay Nikolov
|
0f07c966b6
* convert if structured instructions to br_if + labels
|
1 year ago |
Nikolay Nikolov
|
8b00598cab
* set the last=true property of the last tai_local in the locals list in the
|
1 year ago |
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 year ago |
Nikolay Nikolov
|
e81cff0408
* moved the insertion of the wasm locals asmlist to a local subroutine
|
1 year ago |
Nikolay Nikolov
|
0e39e7c12d
* moved the preparation of the locals asm list in tcpuprocinfo.postprocess_code to a local subroutine
|
1 year ago |
Nikolay Nikolov
|
db23f54f8c
* Local var templist renamed localslist. No functional changes.
|
1 year ago |
Nikolay Nikolov
|
edabca1447
+ added and implemented tcpuprocinfo.AllocWasmLocal
|
1 year ago |
Nikolay Nikolov
|
bc7b113e09
+ convert wasm structured list to flat list
|
1 year ago |
Nikolay Nikolov
|
3c19adda78
* moved the code that converts branch numbers to labels in the cpupi unit and call it from resolve_labels_complex
|
1 year ago |
Nikolay Nikolov
|
3892bb265e
+ always call resolve_labels_complex, if DEBUG_WASM_GOTO is defined.
|
1 year ago |
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 year ago |
Nikolay Nikolov
|
e74797d411
* replaced several internal errors, related to the WebAssembly labels
|
3 years ago |
Nikolay Nikolov
|
7f1050464a
+ added 'else' tracking for the if..end_if blocks
|
3 years ago |
Nikolay Nikolov
|
7bef4d827d
* keep track of the block stack, when resolving labels and check whether the
|
3 years ago |
Nikolay Nikolov
|
12a2c56461
- removed thlcgwasm.incblock, .decblock and br_blocks, as branching is now done
|
3 years ago |
Nikolay Nikolov
|
6fe647ee3d
* moved the default procedure CurrRaiseLabel to the end of the procedure, not
|
3 years ago |
Nikolay Nikolov
|
470e77a572
+ added sanity check when resolving labels to ensure we don't get any jumps with
|
3 years ago |
Nikolay Nikolov
|
5a0956d805
* use WebAssembly asm labels for the raise branch instruction in branchful
|
3 years ago |
Nikolay Nikolov
|
4e3a6aa5a8
* match the label to the wider block, if it is adjacent to both the brevious
|
3 years ago |
Nikolay Nikolov
|
c96e203780
* moved the 'end_block' WebAssembly instruction before the 'exit' label right
|
3 years ago |
Nikolay Nikolov
|
703ae75ba6
* if a label cannot be associated with the previous block instruction, try
|
3 years ago |
Nikolay Nikolov
|
9f077d4ac0
* leave unresolved branches in the asm output, when the compiler is compiled with -dEXTDEBUG
|
3 years ago |
Nikolay Nikolov
|
b3a9c36cbb
* fixed some warnings
|
3 years ago |
Nikolay Nikolov
|
01dc62b127
+ introduced the use of asm labels for WebAssembly. Resolve them in
|
3 years ago |