Commit Graph

69971 Commits

Author SHA1 Message Date
Nikolay Nikolov
6f8655ecc9 * split the sections strings into groups and add comments about the importance
of the section order and grouping. No functional changes.
2024-06-28 00:30:12 +03:00
Nikolay Nikolov
924d4b9b53 + wasm internal linker: count the 'fpc.reshandles' section towards the bss size
of the binary
2024-06-28 00:30:12 +03:00
Nikolay Nikolov
2828752587 + wasm internal linker: count the 'fpc.resources' section towards the binary
data size
2024-06-28 00:30:12 +03:00
Nikolay Nikolov
07da0058e3 + wasm internal linker optimization: write only the non-empty data sections to
the resulting .wasm file (the 'fpc.resources' section specifically can be
  empty, if the binary doesn't use resources)
2024-06-28 00:30:12 +03:00
Nikolay Nikolov
c4f046f1b8 + wasi internal linker: also write the fpc.resources section to the file 2024-06-28 00:30:12 +03:00
Nikolay Nikolov
e17b6291f5 + WASI internal linker: add the 'fpc.resources' and 'fpc.reshandles' sections as well 2024-06-28 00:30:12 +03:00
florian
97a5ec0ff4 + test for Math.RandG based on demo provided by Rika for mr 692 2024-06-27 22:14:40 +02:00
Nikolay Nikolov
824658874d * in the WASI system unit initialization, call InitSystemThreads even if
FPC_WASM_THREADS is not defined (but FPC_HAS_FEATURE_THREADING is defined),
  to initialize the nothread manager. This fixes various regressions when WASI
  threading is disabled, caused by calls to nil pointer functions.
2024-06-27 22:45:01 +03:00
Michaël Van Canneyt
0d71273adc * Fix from Werner Pamler to fix locate. Fixes issue #40748 2024-06-27 16:42:20 +02:00
Michaël Van Canneyt
67a614e48d * Small output improvement 2024-06-27 16:39:50 +02:00
Michaël Van Canneyt
9cc08d9124 * Define JSJSON to as to use static methods 2024-06-27 16:08:57 +02:00
Michaël Van Canneyt
f8559610e0 * Restool example 2024-06-27 16:08:57 +02:00
Nikolay Nikolov
0e0c98f564 + wasm resource writer: implemented AddEmptySections 2024-06-27 10:23:40 +03:00
Nikolay Nikolov
729840ca6f + wasm resource writer: implemented WriteRawData 2024-06-27 10:15:55 +03:00
Nikolay Nikolov
2e553ab0e8 + wasm resource writer: implemented TWasmResourceWriter.WriteResStringTable 2024-06-27 10:01:47 +03:00
Nikolay Nikolov
f17e847e5b + wasm resource writer: implemented TWasmResourceWriter.WriteNodeInfos 2024-06-27 09:56:41 +03:00
Nikolay Nikolov
f2717b8dc0 + wasm resource writer: add the file data segment offset when writing relocations 2024-06-27 09:39:56 +03:00
Nikolay Nikolov
1073729336 + wasm resource writer: actually write the data relocation table
+ add symbols for the data segments
+ use R_WASM_MEMORY_ADDR_I32 relocations instead of R_WASM_MEMORY_ADDR_I32 in
  R_WASM_MEMORY_ADDR_I32
2024-06-27 09:27:49 +03:00
Nikolay Nikolov
8b356c7f60 + wasm resource writer: create a list of relocation entries (not written to
file, yet). Add relocations to the list in TWasmResourceWriter.WriteResHeader
2024-06-27 09:03:53 +03:00
Nikolay Nikolov
63f6df2fbc + wasm resource writer: added FPC_RESSYMBOL to the symbol table 2024-06-27 08:08:53 +03:00
Nikolay Nikolov
49c1416409 + wasm resource writer: create a symbol table (empty for now) 2024-06-27 07:59:27 +03:00
Nikolay Nikolov
c771d772c4 + wasm resource writer: create the WASM_SEGMENT_INFO subsection of the linking custom section 2024-06-27 07:38:37 +03:00
Nikolay Nikolov
866f3ffa2a + wasm resource writer: write the linking custom section 2024-06-27 07:22:48 +03:00
Nikolay Nikolov
b28d49ced7 + wasm resource writer: start writing the data segments, also the import section 2024-06-27 06:39:06 +03:00
Nikolay Nikolov
868d5f29c9 + implement TWasmResourceWriter.PrescanResourceTree, based on the ELF
implementation. Call this on Write() to prepare resource stuff for writing.
2024-06-27 05:45:20 +03:00
Nikolay Nikolov
73462ff8fe + WASM resource writer: write the Data and DataCount sections (with 0 data segments for now) 2024-06-27 05:01:35 +03:00
Nikolay Nikolov
55e55cf247 + added units wasmconsts and wasmtypes 2024-06-27 04:16:37 +03:00
Nikolay Nikolov
c491856533 * changed the resource object extension for the WASI platform to .or (similar to Linux) 2024-06-27 04:15:44 +03:00
Nikolay Nikolov
025282ccb9 + write the WebAssembly header in the WASM resource writer 2024-06-27 04:15:44 +03:00
Nikolay Nikolov
142c851b58 + added wasmwriter to namespaces.lst 2024-06-27 04:15:44 +03:00
Nikolay Nikolov
8a34224782 + added the wasm object format and the wasm32 arch to the fpcres help screen 2024-06-27 04:15:44 +03:00
Nikolay Nikolov
60017c1034 + started working on a WebAssembly resource writer for fcl-res and the fpcres tool 2024-06-27 04:15:44 +03:00
Michaël Van Canneyt
0c745fb257 * Implement TJSArrayBuffer 2024-06-26 14:17:52 +02:00
Nikolay Nikolov
440a635bce + initial compiler support for WebAssembly resources. Requires WebAssembly
support in the fpcres utility, which is not implemented, yet.
2024-06-25 03:07:55 +03:00
florian
14f2d8ab08 * patch by Bart B to make SetValue delete keys with empty values as SetValueFromIndex, resolves #38214 2024-06-24 22:45:07 +02:00
J. Gareth "Curious Kit" Moreton
fb66369a3b * x86: CheckJumpMovTransferOpt now also copies over register deallocations to allow better optimisations 2024-06-24 20:05:39 +00:00
Michaël Van Canneyt
a49c0f6e0c * Fetch example, demo how to reconstruct object response 2024-06-24 17:18:43 +02:00
Michaël Van Canneyt
d0a5b61b80 * Corrections from samples 2024-06-24 17:18:43 +02:00
marcoonthegit
1c02529199 * closes 40829
* add pointer to return value type of libusb_get_version
2024-06-24 15:42:06 +02:00
Michaël Van Canneyt
c8bb9083dc * Extend and Correctly handle aliases invoke class and function for aliased classes 2024-06-24 15:09:44 +02:00
florian
abcced55af * (lsighly, added safety check) patch by Евгений Савин, resolves #40784 2024-06-23 22:07:51 +02:00
marcoonthegit
4300e2cfcc * add filename before eparsererror and reraise closes 0040958 2024-06-23 13:30:05 +02:00
florian
9ea7aa74b5 * get rid of unneeded -dGDB 2024-06-20 20:57:44 +02:00
Michaël Van Canneyt
9e8f09b93f * Properly reset state when (re)compiling, by Artem Izmaylov. Fixes issue #40825 2024-06-20 11:52:02 +02:00
Rika Ichinose
c261d5fdee Fix reading past the end of the string in Unix.FSearch. 2024-06-20 01:02:40 +03:00
Michaël Van Canneyt
ec21c75e05 * Hosting example for webassembly module 2024-06-19 17:52:09 +02:00
Michaël Van Canneyt
0e11fe0fc5 * Forgot to commit last version: allow to use thisid from function 2024-06-19 15:40:37 +02:00
Michaël Van Canneyt
7dcd89ede1 * Corrections for Float64 2024-06-19 09:42:44 +02:00
Michaël Van Canneyt
94912ab274 * Getters & Setters for typed arrays 2024-06-19 09:21:50 +02:00
florian
54ee1d6824 * patch by Awkward, resolves #40822 2024-06-18 22:50:21 +02:00