Nikolay Nikolov
c1eeb8beda
+ use the aasmdef unit in wasm32/cpunode.pas
2021-10-03 00:49:53 +03:00
Nikolay Nikolov
020a58b075
+ added system_wasm32_embedded to systems_embedded
2021-10-02 23:14:24 +03:00
Nikolay Nikolov
c450b63f1c
+ enabled compilation of the fpintres unit for the WASI target and enabled tf_has_winlike_resources for the target
2021-10-02 22:43:05 +03:00
J. Gareth "Kit" Moreton
4b39f7dea0
x86: Missed logic with CMP and MOV optimisations
2021-10-02 19:32:44 +00:00
Nikolay Nikolov
cc2fa67dfa
* fixed OS_S8 to OS_16 conversion for WebAssembly. This fixes test/cg/tcnvint6
2021-10-02 22:10:34 +03:00
Nikolay Nikolov
3258937d97
+ implemented move() for WebAssembly via the memory.copy instruction
2021-10-02 21:33:28 +03:00
Nikolay Nikolov
2e3e3edb5f
+ implemented FillChar for WebAssembly via the memory.fill instruction
2021-10-02 20:31:37 +03:00
Nikolay Nikolov
85207e94f8
+ added inline numbers for a memory.copy and a memory.fill intrinsic
2021-10-02 19:40:36 +03:00
Nikolay Nikolov
026d23632a
+ added the memory.copy and memory.fill WebAssembly instructions
2021-10-02 19:35:26 +03:00
florian
cc5ee6b868
+ comments
2021-10-02 16:24:47 +02:00
florian
39164ad732
* cleanup
2021-10-02 16:15:19 +02:00
florian
c1d8e32eae
+ Aarch64: Ldr<Postfix>Mov2Ldr<Postfix> optimization
2021-10-02 16:07:00 +02:00
florian
b5c7997c88
+ Aarch64: AndCmpB.E/NE2Tbnz/Tbz optimization
2021-10-02 15:46:37 +02:00
florian
177b38dfe9
* modified (cosmetics) patch by Rika: replace DJB2 with MurmurHash3, resolves #39377
2021-10-01 23:06:31 +02:00
Nikolay Nikolov
02745b0b83
+ implemented GetDate, GetTime and WeekDay in the WASI dos unit. They return
...
UTC time (I don't know how to obtain the local time zone from within WASI).
2021-10-01 06:34:52 +03:00
Nikolay Nikolov
d2726c2406
* fixed WebAssembly code generation for not(cbool64)
2021-10-01 05:17:12 +03:00
Nikolay Nikolov
9aefda1e6a
* bug fix in test taddbool.pp - it was testing longbool conversion to boolean
...
twice, and not testing wordbool conversion to boolean at all
2021-10-01 04:56:36 +03:00
Nikolay Nikolov
4fc763ac50
* fixed WebAssembly cbool support for OP_NOT
2021-10-01 04:54:17 +03:00
Nikolay Nikolov
baf5ff4e05
* another WebAssembly cbool fix in twasmtypeconvnode.second_int_to_bool
2021-10-01 04:40:50 +03:00
Nikolay Nikolov
968e23546c
* fixed second_int_to_bool for cbool types for WebAssembly
2021-10-01 04:20:02 +03:00
Nikolay Nikolov
188a21bbfd
* fixed 'not(boolean64)' for WebAssembly
2021-10-01 03:01:55 +03:00
Nikolay Nikolov
c6a549eb48
* int64/boolean64 fix in twasmtypeconvnode.second_int_to_bool
2021-10-01 02:57:04 +03:00
Nikolay Nikolov
2e5b895d70
* fixed WebAssembly code generation for 'if boolean64 then ... else ...'
2021-10-01 02:47:08 +03:00
Nikolay Nikolov
4d571a1928
* fixed code generation for 'boolean64 and/or boolean64' for WebAssembly
2021-10-01 02:43:55 +03:00
florian
abd494624b
* properly search in GetMMRegisterBetween and GetIntRegisterBetween for usable
...
volatile registers (low(<set>) .. high(<set) just searched all possible elements
and not only the included ones)
2021-09-29 22:30:51 +02:00
J. Gareth "Kit" Moreton
1f19b11398
x86_64: Fix to tw8573 overflow bug under -Cg option
2021-09-29 18:32:31 +00:00
Pierre Muller
5446d53156
Update to use gitlab
2021-09-29 17:23:28 +02:00
flyingsheep
6c6cb13a5e
* Fix for issue #39379 by bart broersma
2021-09-29 17:21:57 +02:00
Nikolay Nikolov
91d8009b53
+ implemented round(real) for WebAssembly via the fXX.nearest and i64.trunc_fXX_s instructions
2021-09-29 05:27:27 +03:00
Nikolay Nikolov
835bc62e2a
+ implemented trunc(real) for WebAssembly via the i64.trunc_f32_s and i64.trunc_f64_s instructions
2021-09-29 05:07:43 +03:00
Nikolay Nikolov
f6b4a54f7d
* fixed output of 32-bit floating point constants in the llvm-mc asm output
2021-09-29 04:57:19 +03:00
Nikolay Nikolov
d84a7d1bde
+ implemented int(real) for WebAssembly via the f32.trunc and f64.trunc instructions
2021-09-29 04:19:10 +03:00
Nikolay Nikolov
8822be8a1f
+ implemented abs(real) for WebAssembly via the f32.abs and f64.abs instructions
2021-09-29 04:04:03 +03:00
Nikolay Nikolov
f42817d1a2
* fixed opcode generation for the f32.const in the WebAssembly internal asm
2021-09-29 03:56:13 +03:00
Nikolay Nikolov
95243ed6ed
+ implemented sqrt via the f32.sqrt and f64.sqrt instructions
2021-09-29 03:48:31 +03:00
Nikolay Nikolov
6e6c946e0f
* the fpc_Catches result test code was inverted
2021-09-29 00:17:17 +03:00
florian
7ce1a7c6a0
* x86_64-linux doesn't need .data.rel.ro either
2021-09-28 23:13:35 +02:00
Nikolay Nikolov
99dbbcadcd
+ generate functype directives for all functions in all used units, regardless
...
of whether they have paraloc info created. This fixes linking of WebAssembly
programs that declare their own classes, because that causes the compiler to
generate a VMT, containing references to virtual methods, and these don't
necessarily have paraloc info (if they're not called from within the program)
2021-09-29 00:04:23 +03:00
Nikolay Nikolov
6e7f0744ca
+ implemented the 'on' node for WebAssembly in native exceptions mode
2021-09-28 23:55:10 +03:00
Nikolay Nikolov
0e647a073e
+ override the 'on' node for WebAssembly
2021-09-28 21:23:49 +03:00
Nikolay Nikolov
ef738f01cf
* fixed warning
2021-09-28 20:39:47 +03:00
Nikolay Nikolov
f2abce7ea5
+ initial implementation of try..except..end in wasm native exceptions mode.
...
The 'on' statements are not implemented yet.
2021-09-28 20:23:27 +03:00
Michaël Van Canneyt
93b3315691
* Parse cookies also when setting variable based on name
2021-09-28 10:15:58 +02:00
Michaël Van Canneyt
bfe3afbc62
* Add error check
2021-09-28 10:14:18 +02:00
Nikolay Nikolov
99e449eaa1
* decblock moved after end_try, instead of after catch
2021-09-28 04:11:16 +03:00
Nikolay Nikolov
3836b0be04
* longjmp in fpc_reraise changed to a throw instruction intrinsic in wasm native exceptions mode
2021-09-28 04:02:52 +03:00
Nikolay Nikolov
0c3e179652
- get rid of fpc_PushExceptAddr and fpc_PopAddrStack entirely, when compiling in
...
wasm native exceptions mode - these helper routines aren't necessary in this
mode
2021-09-28 03:59:38 +03:00
Nikolay Nikolov
91f0f1a86c
* don't include except.inc if wasm32 native exception is turned on, instead
...
replace it with except_native.inc
2021-09-28 03:46:30 +03:00
Nikolay Nikolov
73bc8edef3
+ RTL support for raising exceptions in native wasm exceptions mode
2021-09-28 03:31:04 +03:00
Nikolay Nikolov
c9fd115ec5
* fixes to the try..finally code generation in wasm native exceptions mode
2021-09-28 03:29:45 +03:00