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
|
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
|
6ff566350c
|
* disallow passing WebAssembly reference types as untyped var/constref/const parameters
|
2023-06-11 08:56:27 +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
|
a47a1c093a
|
* disallow conversion between regular pointers and WasmExternRef
|
2023-06-11 05:28:39 +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
|
fa9873c6eb
|
Merge branch 'main' into wasm_reference_types
|
2023-06-11 03:08:40 +03: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 |
|
Nikolay Nikolov
|
e555eddeda
|
* fixed the textual representation of the ref.null instruction for llvm-mc
|
2023-06-07 03:36:28 +03:00 |
|
Nikolay Nikolov
|
48556ab039
|
+ enable the reference types extension in llvm-mc via a command line option
|
2023-06-07 03:30:40 +03:00 |
|
Pierre Muller
|
3770b55ce1
|
Disable substitution by environment variables in message comment related functions
|
2023-06-07 01:02:28 +02:00 |
|
Pierre Muller
|
627fd6bce1
|
Add new substitute_env_variables parameter for DefaultReplacements function (with default true value)
|
2023-06-07 01:02:28 +02:00 |
|
Nikolay Nikolov
|
3b3a0a660c
|
* the a_ref_null instruction split into two subinstructions - a_ref_null_externref and a_ref_null_funcref
|
2023-06-07 01:42:46 +03:00 |
|
Nikolay Nikolov
|
1f76366125
|
+ introduced the is_wasm_reference_type(tdef) helper
|
2023-06-05 05:00:31 +03:00 |
|
Nikolay Nikolov
|
5cc4096f41
|
* formatting
|
2023-06-05 04:56:03 +03:00 |
|
Nikolay Nikolov
|
c33f47a707
|
+ introduced is_wasm_externref(tdef) helper
|
2023-06-05 04:55:33 +03:00 |
|
Nikolay Nikolov
|
022d2804a9
|
+ introduced is_wasm_funcref(tdef) helper
|
2023-06-05 04:51:03 +03:00 |
|
Nikolay Nikolov
|
dd09bf64b3
|
+ handle externref parameters in create_functype_common
|
2023-06-05 04:37:54 +03:00 |
|
Nikolay Nikolov
|
a778fb2eaa
|
+ support externref in defToWasmBasic
|
2023-06-05 04:31:53 +03:00 |
|
Nikolay Nikolov
|
3e21d24098
|
+ magically insert a void externref type in the System unit, called WasmExternRef
|
2023-06-05 04:26:57 +03:00 |
|
Nikolay Nikolov
|
c925c1aaa6
|
+ introduced flag is_wasm_externref to tcpupointerdef for wasm32. This is to be
used for declaring WebAssembly externref reference types.
|
2023-06-05 04:09:56 +03:00 |
|
Nikolay Nikolov
|
ad69c6e1b5
|
+ also support funcref parameters in create_functype_common
|
2023-06-05 02:53:44 +03:00 |
|
Nikolay Nikolov
|
bebe53ef9f
|
* added support and simplified the handling of results in create_functype_common for reference types
|
2023-06-05 02:46:34 +03:00 |
|
Nikolay Nikolov
|
60cde554fd
|
+ handle wasm funcrefs in tgcpu.defToWasmBasic
|
2023-06-05 02:44:34 +03:00 |
|
Nikolay Nikolov
|
33fb887479
|
* ppudump compilation fixed
|
2023-06-05 01:45:30 +03:00 |
|
Nikolay Nikolov
|
93438ef1a5
|
+ added the wasmfuncref directive for procvars. Not actually implemented, just
parsed.
|
2023-06-05 01:29:22 +03:00 |
|
florian
|
52147baa04
|
* correct tripletcpustr, resolves #40301
|
2023-05-31 20:26:50 +02:00 |
|
Michael VAN CANNEYT
|
a3f441b590
|
* loongarch64 architecture reinstated
|
2023-05-31 09:40:43 +02:00 |
|
Michael VAN CANNEYT
|
babcb631f8
|
* Delegate darwin ifdef out of program flow, towards const, for clarity
|
2023-05-31 09:34:24 +02:00 |
|
Michael VAN CANNEYT
|
c0893e5c16
|
* get rid os some warnings
|
2023-05-31 09:34:24 +02:00 |
|
Michael VAN CANNEYT
|
c6effbd676
|
* Refactor: add utility routine to handle command-line changes
|
2023-05-31 09:34:24 +02:00 |
|
Michael VAN CANNEYT
|
a52b3522dc
|
* Refactor: Rename some variables for clarity
|
2023-05-31 09:34:24 +02:00 |
|
Michael VAN CANNEYT
|
647f211aa5
|
Refactor check for -PB and -PP for clarity of flow
|
2023-05-31 09:34:23 +02:00 |
|