Nikolay Nikolov
|
553cee72eb
|
* tsk_wasm_suspending renamed tsk_wasm_suspending_first
|
2023-06-17 12:28:12 +03:00 |
|
Nikolay Nikolov
|
f800e40595
|
+ print an error message, in case 'promising' exports are used on non-WebAssembly platform
|
2023-06-16 15:44:58 +03:00 |
|
Nikolay Nikolov
|
2f1ccd6f2a
|
+ support 'promising last' exports
|
2023-06-16 11:00:19 +03:00 |
|
Nikolay Nikolov
|
9d893b5d0d
|
* tcpuprocdef.promising_export_name renamed promising_first_export_name
|
2023-06-16 10:50:35 +03:00 |
|
Nikolay Nikolov
|
9ea1f6de19
|
+ added 'last' or 'first' to the internal promising wrapper name
|
2023-06-13 12:15:46 +03:00 |
|
Nikolay Nikolov
|
ed748a65b4
|
+ added last:boolean parameter to implement_wasm_promising_wrapper
|
2023-06-13 12:14:09 +03:00 |
|
Nikolay Nikolov
|
2eb3f5f0b8
|
+ introduced implement_wasm_promising_wrapper
|
2023-06-13 12:10:54 +03:00 |
|
Nikolay Nikolov
|
c67bcf0032
|
+ introduced tcpuprocdef.add_promising_export
|
2023-06-13 11:57:23 +03:00 |
|
Nikolay Nikolov
|
601c8f9c8b
|
* assert that any exported promising function is not synthetic
|
2023-06-13 11:44:10 +03:00 |
|
Nikolay Nikolov
|
c6b059ede6
|
* eo_promising renamed eo_promising_first
|
2023-06-13 11:42:15 +03:00 |
|
Nikolay Nikolov
|
4d62764fa3
|
+ also allow declaring an external as 'suspending first'
|
2023-06-13 09:56:44 +03:00 |
|
Nikolay Nikolov
|
0f89852908
|
+ support 'suspending last' externals as well
|
2023-06-13 09:34:54 +03:00 |
|
Nikolay Nikolov
|
aedacd9160
|
+ comment for the po_wasm_suspending value
|
2023-06-13 09:12:59 +03:00 |
|
Nikolay Nikolov
|
f6cd75add9
|
+ comments for tsk_wasm_suspending and tsk_wasm_promising
|
2023-06-13 09:11:02 +03:00 |
|
Nikolay Nikolov
|
d2396a848b
|
+ added a basic JS promise test
|
2023-06-11 16:59:29 +03:00 |
|
Nikolay Nikolov
|
c22b6c10b7
|
* fixed generating wrappers for suspending functions that return something, other than double
|
2023-06-11 16:50:49 +03:00 |
|
Nikolay Nikolov
|
15c95e0ac7
|
+ initial implementation of WebAssembly promising exports
|
2023-06-11 16:43:45 +03:00 |
|
Nikolay Nikolov
|
80c8575636
|
* fixed creating suspended wrappers for functions without parameters
|
2023-06-11 15:24:55 +03:00 |
|
Nikolay Nikolov
|
1a4b97a62a
|
* fixed compilation with -Sew
|
2023-06-11 15:09:49 +03:00 |
|
Nikolay Nikolov
|
b97f3a08ed
|
* since exporting webassembly globals doesn't yet work accross units, added a
workaround by using property getters and setters
|
2023-06-11 15:00:56 +03:00 |
|
Nikolay Nikolov
|
b247302871
|
+ initial attempt (not fully working, yet) at implementing WebAssembly suspending externals
|
2023-06-11 14:07:35 +03:00 |
|
Nikolay Nikolov
|
b891cef5d2
|
* ppudump compilation fixed
|
2023-06-11 12:00:54 +03:00 |
|
Nikolay Nikolov
|
95d7bdc3da
|
+ added parser support for the 'suspending' directive
|
2023-06-11 11:57:33 +03:00 |
|
Nikolay Nikolov
|
9b4366e4f6
|
+ support externref and funcref WebAssembly globals in the internal object writer
|
2023-06-11 10:41:56 +03:00 |
|
Nikolay Nikolov
|
8eea58f649
|
+ support WebAssembly reference types as WebAssembly globals
|
2023-06-11 10:31:12 +03:00 |
|
Nikolay Nikolov
|
d38dbcac8f
|
* use tcallparanode.parasym to find the tparavarsym in twasmcallnode.pass_typecheck
|
2023-06-11 09:29:07 +03:00 |
|
Nikolay Nikolov
|
e6cbdba0bd
|
* fixed crash in twasmcallnode.pass_typecheck when there is no procdefinition (for generic methods)
|
2023-06-11 09:23:56 +03:00 |
|
Nikolay Nikolov
|
c117c0abf5
|
* fixed another crash, introduced in 6ff566350c
|
2023-06-11 09:06:59 +03:00 |
|
Nikolay Nikolov
|
3d55ac9d09
|
* fixed bug, introduced in 6ff566350c , due to
missing parenthesis
|
2023-06-11 09:01:07 +03:00 |
|
Nikolay Nikolov
|
64569df017
|
* disallow passing WebAssembly reference types as untyped out parameters as well
|
2023-06-11 08:58:03 +03:00 |
|
Nikolay Nikolov
|
6ff566350c
|
* disallow passing WebAssembly reference types as untyped var/constref/const parameters
|
2023-06-11 08:56:27 +03:00 |
|
Nikolay Nikolov
|
acf8fe59d0
|
* fixed program name in test
|
2023-06-11 08:32:25 +03:00 |
|
Nikolay Nikolov
|
f670ebbb28
|
* disallow WebAssembly reference types to be declared as var, constref or out parameters
|
2023-06-11 08:17:06 +03:00 |
|
Nikolay Nikolov
|
8cd6606970
|
+ support nil comparison of WebAssembly reference types (externref and funcref)
|
2023-06-11 07:17:04 +03:00 |
|
Nikolay Nikolov
|
9daabb2123
|
+ support using nil constants for setting values of WebAssembly reference types (funcref and externref)
|
2023-06-11 06:23:02 +03:00 |
|
Nikolay Nikolov
|
ca03841724
|
- removed redundant semicolon
|
2023-06-11 06:07:13 +03:00 |
|
Nikolay Nikolov
|
7abe3eeb84
|
+ also test that pointers cannot be converted to externref implicitly
|
2023-06-11 05:56:49 +03:00 |
|
Nikolay Nikolov
|
a47a1c093a
|
* disallow conversion between regular pointers and WasmExternRef
|
2023-06-11 05:28:39 +03:00 |
|
Nikolay Nikolov
|
021c1a7bb4
|
* fixed test's program name
|
2023-06-11 04:29:18 +03:00 |
|
Nikolay Nikolov
|
fcd5ecfcce
|
+ some basic tests for WebAssembly funcref types added
|
2023-06-11 04:27:05 +03:00 |
|
Nikolay Nikolov
|
8b138aa059
|
+ also check for assigned(left) after calling inherited in twasmaddrnode.pass_typecheck, to avoid another crash
|
2023-06-11 04:11:02 +03:00 |
|
Nikolay Nikolov
|
84b60d3f00
|
* check for codegenerror in twasmaddrnode.pass_typecheck and exit early, to avoid crashes
|
2023-06-11 04:05:17 +03:00 |
|
Nikolay Nikolov
|
8743f72f11
|
+ disallow taking the address of WebAssembly externref type
|
2023-06-11 04:01:58 +03:00 |
|
Nikolay Nikolov
|
65b175cebd
|
+ simple test for WasmExternRef
|
2023-06-11 03:35:25 +03:00 |
|
Nikolay Nikolov
|
fa9873c6eb
|
Merge branch 'main' into wasm_reference_types
|
2023-06-11 03:08:40 +03:00 |
|
Michaël Van Canneyt
|
0f5c126a45
|
* Correct filename extensions for qoi. Fixes issue #40314
|
2023-06-10 22:29:26 +02:00 |
|
marcoonthegit
|
9bfb45dc05
|
* move ifdefed part from tvitem* to tvitemex*, closes #40312
|
2023-06-10 16:57:11 +02:00 |
|
Nikolay Nikolov
|
a0b78ad1f7
|
+ WebAssembly internal assembler support for the ref.is_null instruction
|
2023-06-07 06:38:25 +03:00 |
|
Nikolay Nikolov
|
2039509cfb
|
+ WebAssembly internal asm support for the ref.null instruction
|
2023-06-07 06:13:17 +03:00 |
|
Nikolay Nikolov
|
11712658b0
|
+ implemented WebAssembly code generator support for funcref and externref data
types, using new register types R_FUNCREFREGISTER and R_EXTERNREFREGISTER
|
2023-06-07 05:25:57 +03:00 |
|