Commit Graph

70135 Commits

Author SHA1 Message Date
Alligator-1
c2bca23fd1 Taking advantage of fpc_ansistr_concat_multi 2024-07-01 08:54:32 +05:00
Alligator-1
f60bed0823 Without a copy in most cases 2024-06-30 22:04:42 +05:00
florian
bdef7af09e * corrected rte number after last merge 2024-06-30 15:25:08 +02:00
Rika Ichinose
ea271c1088 Make int64 division helpers “nostackframe”. 2024-06-30 12:51:40 +00:00
Rika Ichinose
c68788e03e Low-level optimistic implementations of SysRelocateThreadvar that directly read TEB. 2024-06-30 12:27:29 +00:00
Rika Ichinose
0ca608243c SSE4.1 IndexQWord for i386 and x86-64. 2024-06-29 20:37:55 +00:00
florian
567187d4ba + TSCSupport 2024-06-29 22:32:36 +02:00
florian
9ce7fbeef0 * change information updates 2024-06-28 22:45:00 +02:00
Michaël Van Canneyt
3c0cd691e8 * Remove duplicate 2024-06-28 16:23:58 +02:00
Michaël Van Canneyt
38de35d518 * Made AddToRows protected 2024-06-28 16:14:07 +02:00
Michaël Van Canneyt
8884c1967d * revert method property 2024-06-28 09:40:13 +02:00
Michaël Van Canneyt
4c3af63fad * Add new constructor for typed array with length 2024-06-28 09:26:55 +02:00
Nikolay Nikolov
c88037b8a7 * fixed another crash in the wasi internal linker, caused by missing resource section 2024-06-28 00:30:12 +03:00
Nikolay Nikolov
a71995a521 * wasi internal linker: fixed crashes introduced by previous commit in
GetDataSize and GetBssSize
2024-06-28 00:30:12 +03:00
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