Commit Graph

67114 Commits

Author SHA1 Message Date
Sven/Sarah Barth
0b7a771ca9 * fix #40221: don't allow a conversion from an anonymous function to a procvar type if compare_defs_ext already rejected them
+ added tests
2023-06-16 17:28:50 +02:00
Sven/Sarah Barth
e44a33a78b + previous commit also fixes #40143, #40144, #40145, #40308 and #40315, so add the tests for them 2023-06-16 17:03:51 +02:00
Sven/Sarah Barth
08dca09c7e * revert 430bcac389 as with the change that the functions to insert hidden parameters are idempotent this is no longer required and also wrong as uses of the deleted symbols aside from Self and the framepointer would be left dangling 2023-06-16 16:16:58 +02:00
Sven/Sarah Barth
d5a538b590 * ensure that the functions that insert the hidden parameters (function result, open array high parameters, etc.) are idempotent 2023-06-16 16:15:45 +02: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
Pierre Muller
be0c92c65d Set default abi for riscv 32/64 embedded 2023-06-15 15:33:23 +00:00
mattias
63bf4dacbf fcl-pdf: fixed example pdfdump 2023-06-15 11:34:57 +02:00
Rika Ichinose
f20c7b9ae9 Shorter x86_64.inc:inc/declocked. 2023-06-14 21:19:11 +00:00
Rika Ichinose
9249506a2e Shorter i386.inc:fpc_AnsiStr_Decr_Ref. 2023-06-14 21:19:11 +00:00
marcoonthegit
f1fcdcfbc3 * Switched from waitformultiple objects to -handles for xp/w7 compat, closes 40297 2023-06-14 14:22:08 +02:00
Michaël Van Canneyt
90b7c8ace7 * PDF internal link objects, example adapted to show possibility. Fixes issue #40318 2023-06-14 08:30:45 +02:00
Pierre Muller
87e4931489 Fix fullcycle compilation error due to -Sew option
Add 'else' branch to 'case' keyword construct
  for the setting of ABI in riscv32 assembler call.
  Do the same for riscv64 assembler call.
2023-06-14 08:19:06 +02:00
Pierre Muller
f410d8a77c Set defualt riscv32 linux abi to abi_riscv_ipl32 2023-06-13 19:41:02 +00:00
Pierre Muller
0d256f517f Set defualt riscv32 linux abi to abi_riscv_ipl32 2023-06-13 19:39:55 +00: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
Pierre Muller
61e53fd42a Rename variable called section to _section to avoid parsing error for morphos OS 2023-06-11 23:30:18 +02:00
Pierre Muller
ad1812f90a Handle the specific NaN pattern of mips floating-point unit 2023-06-11 15:56:54 +01: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