Commit Graph

66877 Commits

Author SHA1 Message Date
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
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
mattias
add67ca0e3 fcl-web: fixed compile 2023-06-06 15:43:52 +02:00
mattias
7056ec1a87 fcl-web: made TFPCustomHTTPServer.CreateUpgradeHandlerList virtual 2023-06-06 15:09:32 +02:00
mattias
1ab29086f8 rtl: fixed indentation 2023-06-06 14:30:07 +02:00
Michaël Van Canneyt
1afe0114d4 * Correct name 2023-06-05 14:55:05 +02:00
Michaël Van Canneyt
92eab370c3 * Add some methods for improved DUnit compatibility 2023-06-05 14:41:44 +02:00
Michaël Van Canneyt
1d7e346831 * Disable result, explicit list cmmand-line argument 2023-06-05 11:43:07 +02:00
Michaël Van Canneyt
21f57606a6 * GetAttribute call 2023-06-05 11:43:07 +02:00
Michaël Van Canneyt
4d66ac9118 * Add PProcedureSignature 2023-06-05 11:43:07 +02:00
Michaël Van Canneyt
b8738944ed * Add TNoRefCountObject (delphi compatibility) 2023-06-05 11:43:07 +02: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