Pierre Muller
|
a8ca170649
|
Set defualt riscv32 linux abi to abi_riscv_ipl32
|
2023-11-08 23:34:56 +01:00 |
|
Pierre Muller
|
184b40de3e
|
Set defualt riscv32 linux abi to abi_riscv_ipl32
|
2023-11-08 23:34:56 +01:00 |
|
Pierre Muller
|
3638303f0e
|
Rename variable called section to _section to avoid parsing error for morphos OS
|
2023-11-08 23:34:55 +01:00 |
|
Pierre Muller
|
49a05c992e
|
Handle the specific NaN pattern of mips floating-point unit
|
2023-11-08 23:34:55 +01:00 |
|
Nikolay Nikolov
|
4b29633cd7
|
+ added mutable globals to the target switches section
|
2023-11-08 23:34:55 +01:00 |
|
Nikolay Nikolov
|
c42e8c5fff
|
+ added promising _start and _initialize exports
|
2023-11-08 23:34:55 +01:00 |
|
Nikolay Nikolov
|
512ccaf953
|
* fixed erroneously duplicated code from previous commit
|
2023-11-08 23:34:55 +01:00 |
|
Nikolay Nikolov
|
b63c3306d9
|
+ print a proper error message if a suspending external is used on a non-WebAssembly platform
|
2023-11-08 23:34:52 +01:00 |
|
Nikolay Nikolov
|
c74ec6c59b
|
* tsk_wasm_suspending renamed tsk_wasm_suspending_first
|
2023-11-08 23:34:23 +01:00 |
|
Nikolay Nikolov
|
245ee90877
|
+ print an error message, in case 'promising' exports are used on non-WebAssembly platform
|
2023-11-08 23:34:21 +01:00 |
|
Nikolay Nikolov
|
5cd7b7a348
|
+ support 'promising last' exports
|
2023-11-08 23:33:56 +01:00 |
|
Nikolay Nikolov
|
5a0267d5da
|
* tcpuprocdef.promising_export_name renamed promising_first_export_name
|
2023-11-08 23:33:56 +01:00 |
|
Nikolay Nikolov
|
8a6ffe417f
|
+ added 'last' or 'first' to the internal promising wrapper name
|
2023-11-08 23:33:56 +01:00 |
|
Nikolay Nikolov
|
b1ad8c809e
|
+ added last:boolean parameter to implement_wasm_promising_wrapper
|
2023-11-08 23:33:56 +01:00 |
|
Nikolay Nikolov
|
9aefc64bc3
|
+ introduced implement_wasm_promising_wrapper
|
2023-11-08 23:33:56 +01:00 |
|
Nikolay Nikolov
|
fd6113e880
|
+ introduced tcpuprocdef.add_promising_export
|
2023-11-08 23:33:56 +01:00 |
|
Nikolay Nikolov
|
be4fd4c012
|
* assert that any exported promising function is not synthetic
|
2023-11-08 23:33:56 +01:00 |
|
Nikolay Nikolov
|
aa94e9cd21
|
* eo_promising renamed eo_promising_first
|
2023-11-08 23:33:56 +01:00 |
|
Nikolay Nikolov
|
d55c7819cb
|
+ also allow declaring an external as 'suspending first'
|
2023-11-08 23:33:56 +01:00 |
|
Nikolay Nikolov
|
fc9d8c98d0
|
+ support 'suspending last' externals as well
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
8317cad7ee
|
+ comment for the po_wasm_suspending value
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
8ac7551464
|
+ comments for tsk_wasm_suspending and tsk_wasm_promising
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
bce6147317
|
+ added a basic JS promise test
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
a9fb240110
|
* fixed generating wrappers for suspending functions that return something, other than double
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
daaf617590
|
+ initial implementation of WebAssembly promising exports
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
74955b4e03
|
* fixed creating suspended wrappers for functions without parameters
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
389de7c65c
|
* fixed compilation with -Sew
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
bd95252ae1
|
* since exporting webassembly globals doesn't yet work accross units, added a
workaround by using property getters and setters
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
45ca2c6f88
|
+ initial attempt (not fully working, yet) at implementing WebAssembly suspending externals
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
1f286cf736
|
* ppudump compilation fixed
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
4c70cfb9f9
|
+ added parser support for the 'suspending' directive
|
2023-11-08 23:33:55 +01:00 |
|
Nikolay Nikolov
|
20b9e39ff5
|
+ support externref and funcref WebAssembly globals in the internal object writer
|
2023-11-08 23:33:54 +01:00 |
|
Nikolay Nikolov
|
6c7b45a0bb
|
+ support WebAssembly reference types as WebAssembly globals
|
2023-11-08 23:33:54 +01:00 |
|
Nikolay Nikolov
|
a2393c0aeb
|
* use tcallparanode.parasym to find the tparavarsym in twasmcallnode.pass_typecheck
|
2023-11-08 23:33:54 +01:00 |
|
Nikolay Nikolov
|
5ca1c45b2b
|
* fixed crash in twasmcallnode.pass_typecheck when there is no procdefinition (for generic methods)
|
2023-11-08 23:33:54 +01:00 |
|
Nikolay Nikolov
|
daa7e1c190
|
* fixed another crash, introduced in 6ff566350c
|
2023-11-08 23:33:54 +01:00 |
|
Nikolay Nikolov
|
754e0de69e
|
* fixed bug, introduced in 6ff566350c , due to
missing parenthesis
|
2023-11-08 23:33:54 +01:00 |
|
Nikolay Nikolov
|
4df862fce6
|
* disallow passing WebAssembly reference types as untyped out parameters as well
|
2023-11-08 23:33:54 +01:00 |
|
Nikolay Nikolov
|
6bc52b046c
|
* disallow passing WebAssembly reference types as untyped var/constref/const parameters
|
2023-11-08 23:33:54 +01:00 |
|
Nikolay Nikolov
|
a35f6221fe
|
* fixed program name in test
|
2023-11-08 23:33:54 +01:00 |
|
Nikolay Nikolov
|
773b36c21e
|
* disallow WebAssembly reference types to be declared as var, constref or out parameters
|
2023-11-08 23:33:51 +01:00 |
|
Nikolay Nikolov
|
c04c513a5d
|
+ support nil comparison of WebAssembly reference types (externref and funcref)
|
2023-11-08 23:33:17 +01:00 |
|
Nikolay Nikolov
|
57e99cc094
|
+ support using nil constants for setting values of WebAssembly reference types (funcref and externref)
|
2023-11-08 23:33:17 +01:00 |
|
Nikolay Nikolov
|
425f52d601
|
- removed redundant semicolon
|
2023-11-08 23:33:17 +01:00 |
|
Nikolay Nikolov
|
ded26eeacf
|
+ also test that pointers cannot be converted to externref implicitly
|
2023-11-08 23:33:16 +01:00 |
|
Nikolay Nikolov
|
3e9a29a46f
|
* disallow conversion between regular pointers and WasmExternRef
|
2023-11-08 23:33:16 +01:00 |
|
Nikolay Nikolov
|
4c096f8389
|
* fixed test's program name
|
2023-11-08 23:33:16 +01:00 |
|
Nikolay Nikolov
|
d531ec05c9
|
+ some basic tests for WebAssembly funcref types added
|
2023-11-08 23:33:16 +01:00 |
|
Nikolay Nikolov
|
457d0e598b
|
+ also check for assigned(left) after calling inherited in twasmaddrnode.pass_typecheck, to avoid another crash
|
2023-11-08 23:33:16 +01:00 |
|
Nikolay Nikolov
|
48edb0377e
|
* check for codegenerror in twasmaddrnode.pass_typecheck and exit early, to avoid crashes
|
2023-11-08 23:33:16 +01:00 |
|