Nikolay Nikolov
|
da37fabc42
|
* fixed a div by zero error, when compiling a wasi-hosted compiler
|
2023-10-22 01:11:17 +03:00 |
|
Nikolay Nikolov
|
b3e64d70e7
|
* temporary workaround for the is_pascal_goto_target check not working properly in a_jmp_always
|
2023-10-22 01:09:26 +03:00 |
|
Nikolay Nikolov
|
84186db35f
|
* support local.get/set/tee with a const parameter in the wasm internal assembler writer
|
2023-10-22 00:52:37 +03:00 |
|
Nikolay Nikolov
|
b1cec6de2a
|
+ allow jumps to goto targets
|
2023-10-22 00:35:05 +03:00 |
|
Nikolay Nikolov
|
5e9cf637d3
|
* fixed branch ordering in resolve_labels_via_state_machine
|
2023-10-21 23:54:40 +03:00 |
|
Nikolay Nikolov
|
6f942996a5
|
* fixes to the mangling of the entry and exit code during the state machine label resolution
|
2023-10-21 23:46:00 +03:00 |
|
Nikolay Nikolov
|
f9ecc12e5b
|
+ added label resolution via state machine
|
2023-10-21 23:33:09 +03:00 |
|
Nikolay Nikolov
|
fc9719f5f9
|
+ add the extra allocated locals before inserting the locals list in wasm32 tcpuprocinfo.postprocess_code
|
2023-10-18 03:54:37 +03:00 |
|
Nikolay Nikolov
|
d50ef3381f
|
* strip block instructions
|
2023-10-18 03:47:58 +03:00 |
|
Nikolay Nikolov
|
ce742b5b4d
|
* convert loop..end_loop blocks to flat list + branch instruction
|
2023-10-18 03:45:02 +03:00 |
|
Nikolay Nikolov
|
9584348c40
|
+ added amfrtDeleteAi, support deleting instructions in map_structured_asmlist_inner
|
2023-10-18 03:31:11 +03:00 |
|
Nikolay Nikolov
|
0f07c966b6
|
* convert if structured instructions to br_if + labels
|
2023-10-18 02:31:58 +03:00 |
|
Nikolay Nikolov
|
59128241ad
|
+ support mapping of structured instructions also in map_structured_asmlist_inner
|
2023-10-18 01:59:55 +03:00 |
|
Nikolay Nikolov
|
8b00598cab
|
* set the last=true property of the last tai_local in the locals list in the
beginning of insert_localslist, instead of in the end of prepare_locals
|
2023-10-18 01:52:44 +03:00 |
|
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
|
2023-10-18 01:51:11 +03:00 |
|
Nikolay Nikolov
|
e81cff0408
|
* moved the insertion of the wasm locals asmlist to a local subroutine
|
2023-10-18 01:50:31 +03:00 |
|
Nikolay Nikolov
|
0e39e7c12d
|
* moved the preparation of the locals asm list in tcpuprocinfo.postprocess_code to a local subroutine
|
2023-10-18 01:47:42 +03:00 |
|
Nikolay Nikolov
|
db23f54f8c
|
* Local var templist renamed localslist. No functional changes.
|
2023-10-18 01:41:25 +03:00 |
|
Nikolay Nikolov
|
edabca1447
|
+ added and implemented tcpuprocinfo.AllocWasmLocal
|
2023-10-18 00:48:45 +03:00 |
|
Nikolay Nikolov
|
d911e462b2
|
+ added support for params and results in tai_wasmstruc_if.ConvertToBrIf
|
2023-10-17 03:00:23 +03:00 |
|
Nikolay Nikolov
|
c2173185e7
|
+ added method tai_wasmstruc_if.ConvertToBrIf
|
2023-10-17 02:11:46 +03:00 |
|
Nikolay Nikolov
|
bc7b113e09
|
+ convert wasm structured list to flat list
|
2023-10-17 00:14:12 +03:00 |
|
Nikolay Nikolov
|
ea18d11d41
|
* fixed crash in map_structured_asmlist_inner, when the TAsmList parameter is nil
|
2023-10-16 23:22:10 +03:00 |
|
Nikolay Nikolov
|
e0c41ebc5a
|
* fixed hang in map_structured_asmlist_inner
|
2023-10-16 23:21:28 +03:00 |
|
Nikolay Nikolov
|
3c19adda78
|
* moved the code that converts branch numbers to labels in the cpupi unit and call it from resolve_labels_complex
|
2023-10-16 23:09:56 +03:00 |
|
Nikolay Nikolov
|
c48a8ad31f
|
+ added ait_wasm_structured_instruction to the SkipLineInfo set
|
2023-10-16 23:05:10 +03:00 |
|
Nikolay Nikolov
|
3892bb265e
|
+ always call resolve_labels_complex, if DEBUG_WASM_GOTO is defined.
+ define DEBUG_WASM_GOTO in ppcwasm32.lpi (but not in the makefiles)
|
2023-10-16 23:04:11 +03:00 |
|
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.
|
2023-10-16 22:57:56 +03:00 |
|
Nikolay Nikolov
|
267b99a8aa
|
+ added code for creating labels, associated with blocks and converting branch with consts to the corresponding block's label
|
2023-10-16 22:39:32 +03:00 |
|
Nikolay Nikolov
|
e318348372
|
+ added a block stack parameter to TAsmMapFunc
|
2023-10-16 20:55:53 +03:00 |
|
Nikolay Nikolov
|
3f4c41b45f
|
+ introduced twasmstruc_stack
|
2023-10-16 20:38:56 +03:00 |
|
Nikolay Nikolov
|
c97fa0a05d
|
+ introduced map_structured_asmlist
|
2023-10-14 02:18:47 +03:00 |
|
Nikolay Nikolov
|
8e66041b79
|
+ fix for the conversion of try..catch blocks to structured form
|
2023-10-05 20:50:24 +03:00 |
|
Nikolay Nikolov
|
11b743fd6a
|
+ also check for unexpected delegate instructions when converting to wasm structured form
|
2023-10-05 20:40:27 +03:00 |
|
Nikolay Nikolov
|
3a85a5a9cf
|
+ also debug print structured try..catch and try..delegate blocks
|
2023-10-05 20:37:55 +03:00 |
|
Nikolay Nikolov
|
84f0b94549
|
+ more consistency checks for unexpected instructions when converting to wasm structured instruction form
|
2023-10-05 20:24:43 +03:00 |
|
Nikolay Nikolov
|
089e7ca6c8
|
+ added compiler internal error when encountering certain unexpected wasm instructions (indicating improper nesting)
|
2023-10-05 20:19:08 +03:00 |
|
Nikolay Nikolov
|
595402cac7
|
+ added else to case statement to avoid warning
|
2023-10-05 19:19:59 +03:00 |
|
Nikolay Nikolov
|
a5f1600275
|
+ avoid more warnings
|
2023-10-05 19:12:26 +03:00 |
|
Nikolay Nikolov
|
da4980c4c0
|
+ added else to case statement, avoid the warning, produce an internal error in this unexpected case
|
2023-10-05 19:05:39 +03:00 |
|
Nikolay Nikolov
|
16b14c574e
|
* constructors made public to avoid warnings
|
2023-10-05 18:58:45 +03:00 |
|
Nikolay Nikolov
|
df2488ea6e
|
* shorten the string for ait_wasm_structured_instruction in taitypestr to fit in string[24]
|
2023-10-05 18:50:01 +03:00 |
|
Nikolay Nikolov
|
1a26c0ccfe
|
+ for debug purposes print wasm structured instructions in the llvm-mc assembler output
|
2023-10-05 18:27:49 +03:00 |
|
Nikolay Nikolov
|
0680ea46c8
|
* set typ of wasm structured instructions to ait_wasm_structured_instruction
|
2023-10-05 15:15:19 +03:00 |
|
Nikolay Nikolov
|
6ff4031398
|
* fixed more bugs in the wasm structured asmlist construction
|
2023-10-05 15:09:05 +03:00 |
|
Nikolay Nikolov
|
fff60f9f67
|
* fixed bug in wasm_convert_to_structured_asmlist
|
2023-10-05 15:04:42 +03:00 |
|
Nikolay Nikolov
|
a37430c245
|
+ added code for converting wasm asmlists to structured lists (i.e. lists, using the new wasm structured instructions classes)
|
2023-10-03 23:35:46 +03:00 |
|
Nikolay Nikolov
|
dec6255a19
|
+ introduced classes for WebAssembly structured form of instructions
|
2023-10-03 18:47:37 +03:00 |
|
Nikolay Nikolov
|
9996c935ea
|
Merge branch 'main' into wasm_goto
|
2023-10-03 16:12:13 +03:00 |
|
Pierre Muller
|
d9ad6bdd1f
|
Avoid troubles with exported directories
|
2023-10-03 10:14:04 +00:00 |
|