Nikolay Nikolov
|
9da276b352
* fixed bug in thlcgwasm.a_op_reg_reg_reg_checkoverflow that used to generate
|
1 gadu atpakaļ |
Nikolay Nikolov
|
ab65c9889b
+ added the WasmBasicType to TWasmGlobalAsmSymbol. This will help WebAssembly
|
1 gadu atpakaļ |
Nikolay Nikolov
|
f4b9d51aff
+ introduced TWasmGlobalAsmSymbol subclass of TAsmSymbol. Use it for all
|
1 gadu atpakaļ |
Nikolay Nikolov
|
21cc89f1e3
+ added a second TWasmFuncType parameter to the CALL WebAssembly instruction. It
|
1 gadu atpakaļ |
Nikolay Nikolov
|
3defa34470
+ check whether all br instructions, generated by goto point to a pascal goto label
|
1 gadu atpakaļ |
Nikolay Nikolov
|
5486182f56
+ introduced thlcgobj.a_jmp_always_pascal_goto - same as .a_jmp_always, but generated by a pascal goto statement
|
1 gadu atpakaļ |
Nikolay Nikolov
|
064172d65a
* refactored thlcgwasm.a_jmp_always. No functional changes.
|
1 gadu atpakaļ |
Nikolay Nikolov
|
cf21365a21
* fixed and enabled the is_pascal_goto_target check
|
1 gadu atpakaļ |
Nikolay Nikolov
|
b3e64d70e7
* temporary workaround for the is_pascal_goto_target check not working properly in a_jmp_always
|
1 gadu atpakaļ |
Nikolay Nikolov
|
b1cec6de2a
+ allow jumps to goto targets
|
1 gadu atpakaļ |
Nikolay Nikolov
|
8cd6606970
+ support nil comparison of WebAssembly reference types (externref and funcref)
|
2 gadi atpakaļ |
Nikolay Nikolov
|
9daabb2123
+ support using nil constants for setting values of WebAssembly reference types (funcref and externref)
|
2 gadi atpakaļ |
Nikolay Nikolov
|
11712658b0
+ implemented WebAssembly code generator support for funcref and externref data
|
2 gadi atpakaļ |
Nikolay Nikolov
|
f32ef29253
* WebAssembly high level code generator: use the global.get and global.set
|
3 gadi atpakaļ |
Nikolay Nikolov
|
4db653998b
+ generate proper WebAssembly threadvar access when multithreading is turned on
|
3 gadi atpakaļ |
Nikolay Nikolov
|
9b16fafc52
+ generate exception checks after calls to fpc_overflow class in WebAssembly
|
3 gadi atpakaļ |
Nikolay Nikolov
|
b11434a6f8
+ WebAssembly: use the 64-bit div instruction, instead of an RTL helper for 64-bit division
|
3 gadi atpakaļ |
Nikolay Nikolov
|
e74797d411
* replaced several internal errors, related to the WebAssembly labels
|
3 gadi atpakaļ |
Nikolay Nikolov
|
6e4e3b8580
* fixed WebAssembly code generation in thlcgwasm.g_overflowCheck_loc (patch by Pierre)
|
3 gadi atpakaļ |
Nikolay Nikolov
|
8bea5dd41e
* WebAssembly code generation fix in thlcgwasm.a_op_reg_reg_reg_checkoverflow, based on patch by Pierre (but simplified, to use a single block)
|
3 gadi atpakaļ |
Pierre Muller
|
be969205ad
Do not alloc/dealloc NR_DEFAULTFLAGS for wasm32, as it is NR_NO
|
3 gadi atpakaļ |
Nikolay Nikolov
|
c4f9ec91c9
+ fix support for 8-byte records, held in a register pair on the WebAssembly target. This fixes #39524
|
3 gadi atpakaļ |
J. Gareth "Curious Kit" Moreton
|
2dc0995067
- Bug fix to new ADD/SUB optimisation where conditions are concerned
|
3 gadi atpakaļ |
Nikolay Nikolov
|
12a2c56461
- removed thlcgwasm.incblock, .decblock and br_blocks, as branching is now done
|
3 gadi atpakaļ |
Nikolay Nikolov
|
3094f75690
* WebAssembly code generation for 'case' nodes changed to use labels
|
3 gadi atpakaļ |
Nikolay Nikolov
|
6fe647ee3d
* moved the default procedure CurrRaiseLabel to the end of the procedure, not
|
3 gadi atpakaļ |
Nikolay Nikolov
|
5a0956d805
* use WebAssembly asm labels for the raise branch instruction in branchful
|
3 gadi atpakaļ |
Nikolay Nikolov
|
c96e203780
* moved the 'end_block' WebAssembly instruction before the 'exit' label right
|
3 gadi atpakaļ |
Nikolay Nikolov
|
1ce2fb8a4a
* use WebAssembly asm labels for generating code for the 'exit' statement
|
3 gadi atpakaļ |
Nikolay Nikolov
|
0662a0bd44
+ use WebAssembly asm labels for the code generation of 'break' statements as well
|
3 gadi atpakaļ |