Description: Wasm rtl and wasm specific packages (active) Revisions in this set e376851fd8aabb05ac93bc234ae06fd9ed0cdd32,47c271dcd0635ea584023800d66d1ef8ca5ec07e,d9781bcebee08dfdbbdee90a595e92ce1fc284fd,99d66b4c93821f5b4dfbc0fc236ad0c7626d5310,362cabe6845a0769cc8e7fcd4dd5c75a74a07a85,9ba01e7aee19489072b616647ec044ce03a14a43,7fa8f514af5bf6d2e1865353b34ab56d92b54e1b,219294c02b4129d8a063626c72dc3f867ab75680,19cce3e42e46f010065146dec761dc6b00a6efc1,a916aa36d82bf3d37588c1118ad838940453e527,3cb4952745479eb8cd8b445951e8fd13f88b6fc5,1ce1a0fe1fe3642b2daca5e16b1058cad0d3b5fb,9056887aaedd811e0518ebb1b98219b561e04cba,48f115686d105165d9637ffcfcce2f10b6192d9c,27133cb66d75ae134110acf12f002d367ff04523,b93d49df9b4ba90f25219d3a4ba8536649646c09,8c8f8088ebaf68c83500668e97b9c16c41f7d92e,4e4fcaa8a286fe959e1d6595f2d3781b9b893796,f6beba0b0be3dc457baf08163f22a226dade7747,b97f3a08edca89cf8444a5261eb6e5e0fd141303,4c26e4f9894b85fe08694181a8b401a769863495,1da241c09cdd2e73286733fd00d39d8ba87cf9b5,0d375c638c3525021ac386e1985cbe35d14d85b4,5c9186a395b0fe1e118ec0122f468086d6107bcd,5dc62fae3b0cbe83c0208fcd4746a852b501b1b9,d74f81fda863cf65d6acccfd7e5120e646190c82,6a7524418a88fbcbba65b0172f047266eafead64,c4165a67a743517bd5cc39708cd8745cd1b1298c,27ab23681cb1bcf4829c99d54506b934333e3f5e,5913c17805dcd685fb9270a581121a922546b9f0,ac8fefbc2bf6056c7a32f74a33e346899fa3428f,e315a30ef4098784c515edc6a2628204a7a1f989,10d740298d54b90f5dcfdfcf8db6af3250b5f5b5,2a4f4ef420dba8797a3de8ac86ea30ea80cd1404,2824f592a3eb5fc687aa7e67f12be07aa99a245c,5bdef935f9b674313cf9ecae69696bbb9f9b88b9,b58f9bcfd08f1c9dcb58b4fbaaeea4005e2799b7,50370ff56d2eec973fb17f253b0f39a47ba7a356,2daf7f984f24ce54492ff8e1364592d705b0abe9,dbc3d6b98f66afad36744c718f39155fdaff8b12,0187580793af3512cb52831aede8af5dcb0a297d,3df063ad92962b0768b2dccb31457017390fdb3d,ec2e645719b35b7098c759c496e0308f48b88ef5,e80ce5f61f3857db8956c81de525d41b86aa2ed0,94912ab27474fef4d96349f091c504ad1e701531,7dcd89ede12e1d8f060ca5859a9c54de81ba7698,0e11fe0fc5f039939f2f85bc6896812fb1df0b83,ec21c75e05f33de9a5fbe7f7d1bab246f7a32dc0,d0a5b61b80a1c8ae6d8d0661833e9e1eb288244f,a49c0f6e0cc25a096b596e11ac5158b6a56bd96c,0c745fb257e71111588ac54b0bb4bd383751e82c,9cc08d91240df8fdc1809e3e7ece0f02d3df0946,824658874d7aa322b257688869899f15e5444805,4c3af63fad394c8e415aa459ba3d8cd305c525e1,8884c1967d07d267f78d90dff1dc9778c797957a,3fac1e7d5beacea815a2dddbd4674b027affe7e8,38ec27065b62932e0387ce4a7a998362a1f315b1,6d79054cff8fee91630149d9f439b22aa95b28c4,bbb159658a2265472a7a23571e6d2d439e409318,7f4f25488861aa4c70918b6a7bdae2db10909c15,7d1999eedb23e0560ae2e2840ae52decbf733e73,c95dfe24e7203ebc73429d5bbb839d6aba1c8b67,73867e47f92660f175f5bd2fa65d90e59825616d,4016e1accafec4aab026a040ad4e3145895d43d7,b530804eb6b28e9776875988cf3ea5dfbe7cc707,cb164667572a20b17818d90ea2279922404454f3,89cd72b71c8c567ef7f1f371860fc43faa7eb50b,0457690a8bc3590080fb5267e35311e8d19ca918,7fb83161b75365d9482736bc485e02f2cc5649c6,a57971204c103f738674e3af5fa72c940cef249f,429d04089ed2b0e89cb34ffe0b3f87a265c4c372,bcdd29b556776ae1ec8d3b81d4d926d19140fefa,124480e73adff243d2cd0e2096db03a029f95fcb,3ad7a0e716b497df356b2d8c6e799045c6aa7623,28a849a2931afcd495438a761dd63fab1615a6ba,396781408129dd8a31bd35df2e05e6807921d297,a1e4d5a51755c7e23d4f93515007afe7e46fe2c6,536b85021d2b19f24530f982d6dbddff0d0a3598,5043bdaf183c096f38d092f66dbb5207fedb85cf,c1d6cad44411473fe7c3b28e9da40f89889ba8eb,e48fdc5b0f6d6791f394510f678233d5eb9dafec,afd7d9965ab56f5432773a3f472f1663f243a73a,951d2f394212678b0ec84648dcd2b57f3cca0b04,3160e45316babdd507b140acf2999fe102699377,303c0378e9dcd43ac922491017d1ab7c3f81ae13,e579da0844fc82f72b91622902c2671c7b7c831f,b340994e1b1f886bb660aed64e0981a954414d2b,45ec51dc1f56e8511468583d99121cc942af05f3,25af7a4281eb9c7323320b0eaa5348a9daec39bf,d0b03c9c71369432011b0297674fd5bf0a5644df,a81eac24838b7adaac46f50874b2a8c92aea593c,594b96e305e14f029b70a1330c6a96ca6e930972,ce04ce42eddf132f110173b5ba7e4f103e835d17,1210747f1d4354b8f00054fb3ee496462e5c4f11,1e6061845ee7923d066cc24f650ae3ddb0044976,c88873cd46efcbc367c003cc2155e0ce63490a21,3b0d2b329a8edcdfda5005bac6fcf1fbe2070ff5,0314ba9bfdcd7bd092506e692df7b84edfa9f648,ccbc28dd85650b3db35cd414fbcca3acc1331c1e,00e528996782c384b3a03cafbf18555420898147,aef32d5de98cdd07c1843ced826ed128b84a2ab3,51fdff0e7f8ab62b1f66450fa930af1d970118ab,46a9fcc5f93074c9c37fc2539cc9b19d094286f6,c0d6efaada138f939f067562354f1dc483c5f353,9600b5276ab4e010dfe8a316557c6757515598b8,1084346b005135274fdbd693dd1ff5b744e87707,cc15c3c2de57d0039fbdcad6632349c26e6c78c6,3e2b0ac8b96d739b7f0b7f36d4ad432bd094a551,633f905b79f556c0782d6381294546ea61ecbe85,334102e3915212911b03280d719e874a35e9ee2d,1f0c72b6c18aaa6e2aefa9b6a250ccb461837e62,5ac4fd0b133541f705dd3478fb90a6f8f75ce70e,b18e3810499b15d3f0d4dd4c5612471523c18e68,ae83472a06f37feefb22a7906389ebb8d94d65a0,083ac5c1142ce6040133ec4da1318626367db612,368a77d75e78d0cae0c92ef4300117ed07afcc3d,37b7835b12bfec0382b308575ea4742223c01cc6,2cefdd35b56c48ff4f48b119b9e13582e3940d2a,5a2b045388652a7640d3e8f3dfa0f69a9d7c15a5,e03e62f013cb259d43b056de85e8eba3fd61278b,74ea291454b64f8896d015fdc9bdaf6d5db18e7b,7b213bb4e6a3221062afc1b0d3c40580603f4b9d,fc0fb5968a98f3ba261cffbb679baa41eaf563c9,45f7be1b3c9485e7b3de3c5f48debca75b4bb559,9c4a354d7bf4eba9cd3453d780a55b6041836028,7f682589c7a33e74208b71c5aad347baab8313d6,4ac0781dd8b0882f761b4887697b88e9ce903c90,d775dadced3c86c4a530ab75a0bb13575f5cd4bd,573b82c67f58bda7f6cfb5cea54c49bbc4c962ed,4c8f718a8b7e27c98cbee65db0b163b6613243ba,e94d02a06788c0953111efc08dd5a7c8da5789ee,8488c87b20efb6e3a934a9d71475ac3a24d9d6ef,40725146cc37345879b82d1edaba02fcf0687fff,f29fe358ad694e288b751a4632ffda7ed77305b8,925091d0d14658a943ff204e7f6a39819b42bc0f,5e813e62f24635c3947c5adb1efcf94dfedd2f0e,2e8b9e7e01ffbf180e5c0ac2a2a29d0e06b822a7,12db8a59b526a292182da0b43adb15e9e30b6c7c,6972d16c3ab08068898d123f5b677c6e56d96d1a,3e6ae3f887f9c69ccd23465b185b70fbe798acd1,d06dd9532c66a81d197ebfe12134a48e3d30102e,f270543bf4537afa59149e4fabe9c5a9d094f068,0b3d0594582bf3e2a12f56310f1e5fe5b8ad532d,637fa74c5c305cadcb0aad0c43b0f6a9a3c30888,008397cb492610afc8cce7a3d4b416daf4c60af0,708a479fdd177f27565d1c740c62266c590ab94b,7e89495a0950add0013733eb631483aa9ebf24e7,6286ff38cca83503949d91e60edd03639dd6056d,7703ff9b34ee48665b37f418b699a3229c0bcaf5,0977f0ac0d1ecf3284554b2613bbdd1bb03359a8,736fc12e55ab4872f92d85a6d45f038bd658f94f,9e9153b2d30c088de589ccfe57351a14d902c4a1,cf73409470dd3688b070bc658b0f72c1621797ef,266a0af993498604899b2dd3586b7bd8ccbfaf8e,e867b540344e13681b040b234101f282f30cbe60 commit e376851fd8aabb05ac93bc234ae06fd9ed0cdd32 Author: Nikolay Nikolov Date: Sat May 21 16:29:28 2022 +0300 * fixes to the WebAssembly atomic function intrinsics M rtl/wasm32/cpuh.inc --- commit 47c271dcd0635ea584023800d66d1ef8ca5ec07e Author: Nikolay Nikolov Date: Sun May 22 06:34:10 2022 +0300 + implemented InterlockedIncrement, InterlockedDecrement, InterlockedExchange, InterlockedCompareExchange and InterlockedExchangeAdd for WebAssembly in a thread safe way, using the thread and atomics extension, when the RTL is compiled with -dFPC_WASM_THREADS M rtl/wasm32/wasm32.inc --- commit d9781bcebee08dfdbbdee90a595e92ce1fc284fd Author: Nikolay Nikolov Date: Tue May 24 14:10:04 2022 +0300 + added except_branchful.inc as a system unit dependency include file to wasm32/makefile.cpu M rtl/wasm32/makefile.cpu --- commit 99d66b4c93821f5b4dfbc0fc236ad0c7626d5310 Author: Nikolay Nikolov Date: Tue May 24 15:16:40 2022 +0300 + added AtomicAdd() and AtomicSub() intrinsics to the WebAssembly unit M rtl/wasm32/webassembly.pp --- commit 362cabe6845a0769cc8e7fcd4dd5c75a74a07a85 Author: Nikolay Nikolov Date: Tue May 24 15:21:59 2022 +0300 + added AtomicAnd(), AtomicOr() and AtomicXor() to the WebAssembly unit M rtl/wasm32/webassembly.pp --- commit 9ba01e7aee19489072b616647ec044ce03a14a43 Author: Nikolay Nikolov Date: Tue May 24 15:24:25 2022 +0300 + added AtomicExchange() to the WebAssembly unit M rtl/wasm32/webassembly.pp --- commit 7fa8f514af5bf6d2e1865353b34ab56d92b54e1b Author: Nikolay Nikolov Date: Tue May 24 15:40:13 2022 +0300 + added AtomicCompareExchange() to the WebAssembly unit M rtl/wasm32/webassembly.pp --- commit 219294c02b4129d8a063626c72dc3f867ab75680 Author: Nikolay Nikolov Date: Wed May 25 19:05:28 2022 +0300 + added AtomicLoad() to the WebAssembly unit M rtl/wasm32/webassembly.pp --- commit 19cce3e42e46f010065146dec761dc6b00a6efc1 Author: Nikolay Nikolov Date: Wed May 25 20:11:54 2022 +0300 + added AtomicWait() to the WebAssembly unit M rtl/wasm32/webassembly.pp --- commit a916aa36d82bf3d37588c1118ad838940453e527 Author: Nikolay Nikolov Date: Wed May 25 20:16:50 2022 +0300 + added AtomicNotify() to the WebAssembly unit M rtl/wasm32/webassembly.pp --- commit 3cb4952745479eb8cd8b445951e8fd13f88b6fc5 Author: Nikolay Nikolov Date: Wed May 25 20:18:07 2022 +0300 * AtomicWait marked as inline M rtl/wasm32/webassembly.pp --- commit 1ce1a0fe1fe3642b2daca5e16b1058cad0d3b5fb Author: Nikolay Nikolov Date: Sat May 28 02:17:20 2022 +0300 * added non-atomic implementations of the atomic operations in the WebAssembly unit, used when the RTL is compiled without -CTwasmthreads M rtl/wasm32/webassembly.pp --- commit 9056887aaedd811e0518ebb1b98219b561e04cba Author: Michaël Van Canneyt Date: Sat Jun 11 00:55:27 2022 +0200 * Correct windows DLL name M packages/wasmtime/src/wasmtime.pp --- commit 48f115686d105165d9637ffcfcce2f10b6192d9c Author: Nikolay Nikolov Date: Tue Jun 21 04:47:04 2022 +0300 + print more exceptions debug info, when the WebAssembly RTL is compiled with -dEXCDEBUG M rtl/wasm32/except_branchful.inc M rtl/wasm32/except_native.inc --- commit 27133cb66d75ae134110acf12f002d367ff04523 Author: Michaël Van Canneyt Date: Wed Sep 7 21:03:59 2022 +0200 * Wasm Threads (WIP) A rtl/wasi/wasmmutex.inc A rtl/wasm32/wasmmem.inc --- commit b93d49df9b4ba90f25219d3a4ba8536649646c09 Author: Michaël Van Canneyt Date: Thu Sep 8 13:08:05 2022 +0200 * Comment out debug in loop M rtl/wasi/wasmmutex.inc --- commit 8c8f8088ebaf68c83500668e97b9c16c41f7d92e Author: Michaël Van Canneyt Date: Thu Sep 8 13:09:50 2022 +0200 * Seems not all was committed M rtl/objpas/classes/classes.inc M rtl/objpas/classes/classesh.inc M rtl/wasi/sysheap.inc M rtl/wasi/sysosh.inc M rtl/wasi/system.pp M rtl/wasi/systhrd.inc M rtl/wasi/tthread.inc M rtl/wasm32/wasm32.inc --- commit 4e4fcaa8a286fe959e1d6595f2d3781b9b893796 Author: Michaël Van Canneyt Date: Fri Oct 21 14:43:17 2022 +0200 * Fix compilation without threads M rtl/wasi/system.pp --- commit f6beba0b0be3dc457baf08163f22a226dade7747 Author: Michael VAN CANNEYT Date: Fri Jan 6 11:14:01 2023 +0100 * string -> shortstring M rtl/wasi/system.pp --- commit b97f3a08edca89cf8444a5261eb6e5e0fd141303 Author: Nikolay Nikolov Date: Sun Jun 11 15:00:56 2023 +0300 * since exporting webassembly globals doesn't yet work accross units, added a workaround by using property getters and setters M rtl/wasi/system.pp --- commit 4c26e4f9894b85fe08694181a8b401a769863495 Author: Michaël Van Canneyt Date: Fri Feb 23 14:33:09 2024 +0100 * Enable monitor support M rtl/aix/system.pp M rtl/bsd/system.pp M rtl/nativent/system.pp M rtl/solaris/system.pp M rtl/wasi/system.pp M rtl/win32/system.pp M rtl/win64/system.pp M rtl/wince/system.pp --- commit 1da241c09cdd2e73286733fd00d39d8ba87cf9b5 Author: Michaël Van Canneyt Date: Thu Apr 25 11:26:24 2024 +0200 * Add wasm-job for webassembly M packages/fpmake_add.inc M packages/fpmake_proc.inc A packages/wasm-job/fpmake.pp A packages/wasm-job/namespaced/Wasm.Job.Js.pas A packages/wasm-job/namespaced/Wasm.Job.Shared.pas A packages/wasm-job/src/job.js.pas A packages/wasm-job/src/job.shared.pas --- commit 0d375c638c3525021ac386e1985cbe35d14d85b4 Author: Michaël Van Canneyt Date: Thu Apr 25 13:56:56 2024 +0200 * not automatically committed... A packages/wasm-job/namespaces.lst --- commit 5c9186a395b0fe1e118ec0122f468086d6107bcd Author: Michaël Van Canneyt Date: Fri Apr 26 15:09:35 2024 +0200 * Sample unit containing all browser apis A packages/wasm-job/examples/job_web.pas --- commit 5dc62fae3b0cbe83c0208fcd4746a852b501b1b9 Author: Michaël Van Canneyt Date: Fri Apr 26 15:10:11 2024 +0200 * Add create_object method M packages/wasm-job/src/job.shared.pas --- commit d74f81fda863cf65d6acccfd7e5120e646190c82 Author: Michaël Van Canneyt Date: Fri Apr 26 15:10:47 2024 +0200 * Remove unqualified string type, use UTF8 string or Unicode string M packages/wasm-job/src/job.js.pas --- commit 6a7524418a88fbcbba65b0172f047266eafead64 Author: Michaël Van Canneyt Date: Fri Apr 26 18:14:46 2024 +0200 * Create objects directly M packages/wasm-job/src/job.js.pas --- commit c4165a67a743517bd5cc39708cd8745cd1b1298c Author: Michaël Van Canneyt Date: Sat Apr 27 17:45:21 2024 +0200 * Constructor M packages/wasm-job/src/job.js.pas --- commit 27ab23681cb1bcf4829c99d54506b934333e3f5e Author: Michaël Van Canneyt Date: Wed May 1 14:01:35 2024 +0200 * More complete example with dictionaries as objects M packages/wasm-job/examples/job_web.pas --- commit 5913c17805dcd685fb9270a581121a922546b9f0 Author: Michaël Van Canneyt Date: Tue May 14 08:43:44 2024 +0200 * Allow to create browser API stubs that will work on non-webassembly platforms M packages/wasm-job/fpmake.pp A packages/wasm-job/namespaced/Wasm.Job.Stub.pas M packages/wasm-job/namespaces.lst A packages/wasm-job/src/job.stub.pas M packages/webidl/fpmake.pp A packages/webidl/namespaced/WebIdl.ToWasmStub.pp M packages/webidl/namespaces.lst M packages/webidl/src/webidltowasmjob.pp A packages/webidl/src/webidltowasmstub.pp --- commit ac8fefbc2bf6056c7a32f74a33e346899fa3428f Author: Michaël Van Canneyt Date: Wed May 15 08:48:59 2024 +0200 * Fix compilation for targets that do not have variants A packages/wasm-job/Makefile M packages/wasm-job/fpmake.pp --- commit e315a30ef4098784c515edc6a2628204a7a1f989 Author: Pierre Muller Date: Thu May 16 14:11:41 2024 +0000 Disable jvm-android target for wasm-job package because it requires sysutils unit which is not available for jvm-android M packages/wasm-job/fpmake.pp --- commit 10d740298d54b90f5dcfdfcf8db6af3250b5f5b5 Author: Michaël Van Canneyt Date: Sun May 19 16:14:45 2024 +0200 * Added nothreads unit for fake thread support. Currently only WASI M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/human68k/Makefile M rtl/inc/Makefile.rtl A rtl/inc/nothreads.pp M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile A rtl/namespaced/common/System.NoThreads.pp M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile --- commit 2a4f4ef420dba8797a3de8ac86ea30ea80cd1404 Author: Michaël Van Canneyt Date: Fri May 24 17:25:05 2024 +0200 * Add TypedArray constructor M packages/wasm-job/src/job.js.pas --- commit 2824f592a3eb5fc687aa7e67f12be07aa99a245c Author: Michaël Van Canneyt Date: Fri May 24 17:42:59 2024 +0200 * New type of argument M packages/wasm-job/src/job.shared.pas --- commit 5bdef935f9b674313cf9ecae69696bbb9f9b88b9 Author: Michaël Van Canneyt Date: Tue May 28 09:31:17 2024 +0200 * Fix memleak, objects created directly are owned by webassembly M packages/wasm-job/src/job.js.pas --- commit b58f9bcfd08f1c9dcb58b4fbaaeea4005e2799b7 Author: Michaël Van Canneyt Date: Tue May 28 16:47:37 2024 +0200 * set method for typed array M packages/wasm-job/src/job.js.pas --- commit 50370ff56d2eec973fb17f253b0f39a47ba7a356 Author: Michaël Van Canneyt Date: Wed Jun 5 09:32:22 2024 +0200 * Add length M packages/wasm-job/src/job.js.pas --- commit 2daf7f984f24ce54492ff8e1364592d705b0abe9 Author: Michaël Van Canneyt Date: Wed Jun 5 10:55:05 2024 +0200 * Global memory object M packages/wasm-job/src/job.js.pas --- commit dbc3d6b98f66afad36744c718f39155fdaff8b12 Author: Michaël Van Canneyt Date: Thu Jun 6 09:23:42 2024 +0200 * Add constructor to TJSArray that accepts array of const M packages/wasm-job/src/job.js.pas --- commit 0187580793af3512cb52831aede8af5dcb0a297d Author: Michaël Van Canneyt Date: Wed Jun 12 17:45:29 2024 +0200 * Promise implementation and demo A packages/wasm-job/examples/promisedemo.lpi A packages/wasm-job/examples/promisedemo.lpr M packages/wasm-job/src/job.js.pas M packages/wasm-job/src/job.shared.pas --- commit 3df063ad92962b0768b2dccb31457017390fdb3d Author: Michaël Van Canneyt Date: Wed Jun 12 18:08:38 2024 +0200 * Make methods protected, so one can override M packages/wasm-job/examples/job_web.pas --- commit ec2e645719b35b7098c759c496e0308f48b88ef5 Author: Michaël Van Canneyt Date: Tue Jun 18 09:12:32 2024 +0200 * Allow to cache reject/resolve M packages/wasm-job/src/job.js.pas --- commit e80ce5f61f3857db8956c81de525d41b86aa2ed0 Author: Michaël Van Canneyt Date: Tue Jun 18 14:51:34 2024 +0200 * Allow to disable monitor M rtl/aix/system.pp M rtl/bsd/system.pp M rtl/linux/system.pp M rtl/nativent/system.pp M rtl/solaris/system.pp M rtl/wasi/system.pp M rtl/win32/system.pp M rtl/win64/system.pp M rtl/wince/system.pp --- commit 94912ab27474fef4d96349f091c504ad1e701531 Author: Michaël Van Canneyt Date: Wed Jun 19 09:21:24 2024 +0200 * Getters & Setters for typed arrays M packages/wasm-job/src/job.js.pas --- commit 7dcd89ede12e1d8f060ca5859a9c54de81ba7698 Author: Michaël Van Canneyt Date: Wed Jun 19 09:42:44 2024 +0200 * Corrections for Float64 M packages/wasm-job/src/job.js.pas --- commit 0e11fe0fc5f039939f2f85bc6896812fb1df0b83 Author: Michaël Van Canneyt Date: Wed Jun 19 15:40:37 2024 +0200 * Forgot to commit last version: allow to use thisid from function M packages/wasm-job/src/job.js.pas --- commit ec21c75e05f33de9a5fbe7f7d1bab246f7a32dc0 Author: Michaël Van Canneyt Date: Wed Jun 19 17:52:09 2024 +0200 * Hosting example for webassembly module A packages/wasm-job/examples/WebHost/README.md A packages/wasm-job/examples/WebHost/bulma.min.css A packages/wasm-job/examples/WebHost/hostconfig-template.js A packages/wasm-job/examples/WebHost/index.html A packages/wasm-job/examples/WebHost/simpleserver.ini A packages/wasm-job/examples/WebHost/webhost.lpi A packages/wasm-job/examples/WebHost/webhost.lpr R100 packages/wasm-job/examples/promisedemo.lpi packages/wasm-job/examples/promise-1/promisedemo.lpi R100 packages/wasm-job/examples/promisedemo.lpr packages/wasm-job/examples/promise-1/promisedemo.lpr A packages/wasm-job/examples/promise-2/promisedemo2.lpi A packages/wasm-job/examples/promise-2/promisedemo2.lpr --- commit d0a5b61b80a1c8ae6d8d0661833e9e1eb288244f Author: Michaël Van Canneyt Date: Mon Jun 24 17:17:28 2024 +0200 * Corrections from samples M packages/wasm-job/examples/WebHost/simpleserver.ini M packages/wasm-job/examples/WebHost/webhost.lpr --- commit a49c0f6e0cc25a096b596e11ac5158b6a56bd96c Author: Michaël Van Canneyt Date: Mon Jun 24 17:18:33 2024 +0200 * Fetch example, demo how to reconstruct object response A packages/wasm-job/examples/fetch/loadstrings.lpi A packages/wasm-job/examples/fetch/loadstrings.lpr A packages/wasm-job/examples/fetch/lorem.txt --- commit 0c745fb257e71111588ac54b0bb4bd383751e82c Author: Michaël Van Canneyt Date: Wed Jun 26 14:17:44 2024 +0200 * Implement TJSArrayBuffer M packages/wasm-job/src/job.js.pas --- commit 9cc08d91240df8fdc1809e3e7ece0f02d3df0946 Author: Michaël Van Canneyt Date: Thu Jun 27 16:08:50 2024 +0200 * Define JSJSON to as to use static methods M packages/wasm-job/src/job.js.pas --- commit 824658874d7aa322b257688869899f15e5444805 Author: Nikolay Nikolov Date: Thu Jun 27 22:44:57 2024 +0300 * 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. M rtl/wasi/system.pp --- commit 4c3af63fad394c8e415aa459ba3d8cd305c525e1 Author: Michaël Van Canneyt Date: Fri Jun 28 09:26:49 2024 +0200 * Add new constructor for typed array with length M packages/wasm-job/src/job.js.pas --- commit 8884c1967d07d267f78d90dff1dc9778c797957a Author: Michaël Van Canneyt Date: Fri Jun 28 09:40:13 2024 +0200 * revert method property M packages/wasm-job/src/job.js.pas --- commit 3fac1e7d5beacea815a2dddbd4674b027affe7e8 Author: Michaël Van Canneyt Date: Fri Jul 5 09:43:58 2024 +0200 * Correct Cast class functions which were recursively calling themselves instead of JOBCreate M packages/wasm-job/src/job.js.pas --- commit 38ec27065b62932e0387ce4a7a998362a1f315b1 Author: Michaël Van Canneyt Date: Fri Jul 5 14:07:34 2024 +0200 * Add some utility properties M packages/wasm-job/src/job.js.pas --- commit 6d79054cff8fee91630149d9f439b22aa95b28c4 Author: Nikolay Nikolov Date: Thu Jul 11 11:20:44 2024 +0300 * use an empty TThread implementation in rtl/wasi/tthread.inc, in case FPC_WASM_THREADS is not defined M rtl/wasi/tthread.inc --- commit bbb159658a2265472a7a23571e6d2d439e409318 Author: Nikolay Nikolov Date: Sat Jul 20 17:08:23 2024 +0300 + added basic WebAssembly inline assembler test A tests/test/wasm/twasminlineasm1.pp --- commit 7f4f25488861aa4c70918b6a7bdae2db10909c15 Author: Nikolay Nikolov Date: Sat Jul 20 21:54:03 2024 +0300 + added test for the WebAssembly inline asm call instruction M tests/test/wasm/twasminlineasm1.pp --- commit 7d1999eedb23e0560ae2e2840ae52decbf733e73 Author: Nikolay Nikolov Date: Sun Jul 21 18:21:43 2024 +0300 * WASI: preserve the initial value of the stack pointer on startup, so that we can later use the area after that, until the end of memory as an initial heap M rtl/wasi/si_dll.pp M rtl/wasi/si_prc.pp M rtl/wasi/sysheap.inc --- commit c95dfe24e7203ebc73429d5bbb839d6aba1c8b67 Author: Nikolay Nikolov Date: Sun Jul 21 19:03:25 2024 +0300 + WASI: use an initial heap area, that exists between the end of the stack area, and before the end of initially allocated memory. This recovers some memory that was previously wasted and delays the first call to memory.grow M rtl/wasi/sysheap.inc M rtl/wasi/system.pp --- commit 73867e47f92660f175f5bd2fa65d90e59825616d Author: Michaël Van Canneyt Date: Wed Jul 24 14:45:30 2024 +0200 * Add Error.Message M packages/wasm-job/src/job.js.pas --- commit 4016e1accafec4aab026a040ad4e3145895d43d7 Author: Michaël Van Canneyt Date: Wed Jul 24 20:38:16 2024 +0200 * NativeInt size depends on platform. M packages/wasm-job/src/job.js.pas --- commit b530804eb6b28e9776875988cf3ea5dfbe7cc707 Author: Michaël Van Canneyt Date: Wed Jul 24 22:33:37 2024 +0200 * Use Int32 for index M packages/wasm-job/src/job.js.pas --- commit cb164667572a20b17818d90ea2279922404454f3 Author: Michaël Van Canneyt Date: Thu Jul 25 10:32:41 2024 +0200 * Implement DataView M packages/wasm-job/src/job.js.pas --- commit 89cd72b71c8c567ef7f1f371860fc43faa7eb50b Author: Michaël Van Canneyt Date: Thu Jul 25 10:37:26 2024 +0200 * Implement DataView properties M packages/wasm-job/src/job.js.pas --- commit 0457690a8bc3590080fb5267e35311e8d19ca918 Author: Michaël Van Canneyt Date: Thu Jul 25 10:53:08 2024 +0200 * Redefine (T|I)JSArrayBufferView M packages/wasm-job/src/job.js.pas --- commit 7fb83161b75365d9482736bc485e02f2cc5649c6 Author: Michaël Van Canneyt Date: Thu Jul 25 11:04:42 2024 +0200 * Correct interface ArrayBufferView M packages/wasm-job/src/job.js.pas --- commit a57971204c103f738674e3af5fa72c940cef249f Author: florian Date: Fri Jul 26 21:48:20 2024 +0200 * reduce iterations for RiscV32 for now M tests/bench/bdiv.pp --- commit 429d04089ed2b0e89cb34ffe0b3f87a265c4c372 Author: Michaël Van Canneyt Date: Sat Jul 27 13:21:19 2024 +0200 * Wrong file copied M tests/test/texrtti18.pp --- commit bcdd29b556776ae1ec8d3b81d4d926d19140fefa Author: Michaël Van Canneyt Date: Sat Jul 27 15:37:59 2024 +0200 * API to show objects in webassembly runtime in browser M packages/fpmake_add.inc M packages/fpmake_proc.inc A packages/wasm-oi/fpmake.pp A packages/wasm-oi/src/wasm.debuginspector.api.pas A packages/wasm-oi/src/wasm.debuginspector.rtti.pas A packages/wasm-oi/src/wasm.debuginspector.shared.pas --- commit 124480e73adff243d2cd0e2096db03a029f95fcb Author: florian Date: Sat Jul 27 19:51:37 2024 +0200 * spelling fixed M tests/test/tint642.pp --- commit 3ad7a0e716b497df356b2d8c6e799045c6aa7623 Author: Nikolay Nikolov Date: Sun Jul 28 18:32:24 2024 +0300 + added WebAssembly inline asm tests for the instructions: i32.div_s i64.div_s i32.div_u i64.div_u M tests/test/wasm/twasminlineasm1.pp --- commit 28a849a2931afcd495438a761dd63fab1615a6ba Author: Nikolay Nikolov Date: Sun Jul 28 18:46:48 2024 +0300 + added WebAssembly inline asm test for: i32.rem_s i64.rem_s i32.rem_u i64.rem_u M tests/test/wasm/twasminlineasm1.pp --- commit 396781408129dd8a31bd35df2e05e6807921d297 Author: Nikolay Nikolov Date: Sun Jul 28 18:58:31 2024 +0300 + added WebAssembly inline asm test for: i32.and i64.and i32.or i64.or i32.xor i64.xor M tests/test/wasm/twasminlineasm1.pp --- commit a1e4d5a51755c7e23d4f93515007afe7e46fe2c6 Author: Nikolay Nikolov Date: Sun Jul 28 19:06:20 2024 +0300 + added WebAssembly inline asm test for: i32.shl i64.shl M tests/test/wasm/twasminlineasm1.pp --- commit 536b85021d2b19f24530f982d6dbddff0d0a3598 Author: Nikolay Nikolov Date: Sun Jul 28 19:12:12 2024 +0300 + added WebAssembly inline asm tests for: i32.shr_u i64.shr_u M tests/test/wasm/twasminlineasm1.pp --- commit 5043bdaf183c096f38d092f66dbb5207fedb85cf Author: Nikolay Nikolov Date: Sun Jul 28 19:17:28 2024 +0300 + added WebAssembly inline asm tests for: i32.shr_s i64.shr_s M tests/test/wasm/twasminlineasm1.pp --- commit c1d6cad44411473fe7c3b28e9da40f89889ba8eb Author: Nikolay Nikolov Date: Sun Jul 28 19:24:02 2024 +0300 + added WebAssembly inline asm tests for: i32.rotl i64.rotl i32.rotr i64.rotr M tests/test/wasm/twasminlineasm1.pp --- commit e48fdc5b0f6d6791f394510f678233d5eb9dafec Author: Nikolay Nikolov Date: Sun Jul 28 19:32:36 2024 +0300 + added WebAssembly inline asm tests for: i32.clz i64.clz i32.ctz i64.ctz i32.popcnt i64.popcnt M tests/test/wasm/twasminlineasm1.pp --- commit afd7d9965ab56f5432773a3f472f1663f243a73a Author: Michaël Van Canneyt Date: Mon Jul 29 09:02:51 2024 +0200 * Remove debug writelns M packages/wasm-oi/src/wasm.debuginspector.rtti.pas --- commit 951d2f394212678b0ec84648dcd2b57f3cca0b04 Author: Michaël Van Canneyt Date: Mon Jul 29 14:20:49 2024 +0200 * Set event handler-type properties M packages/wasm-job/examples/job_web.pas --- commit 3160e45316babdd507b140acf2999fe102699377 Author: Michaël Van Canneyt Date: Mon Jul 29 17:55:15 2024 +0200 * String must not be shortstring M packages/wasm-oi/src/wasm.debuginspector.api.pas --- commit 303c0378e9dcd43ac922491017d1ab7c3f81ae13 Author: Michaël Van Canneyt Date: Mon Jul 29 17:55:46 2024 +0200 * Send properties sorted M packages/wasm-oi/src/wasm.debuginspector.rtti.pas --- commit e579da0844fc82f72b91622902c2671c7b7c831f Author: Nikolay Nikolov Date: Mon Jul 29 22:52:29 2024 +0300 + implemented CheckInitialStkLen for the WASI target (just returns the parameter stklen as a result value, unmodified) M rtl/wasi/system.pp --- commit b340994e1b1f886bb660aed64e0981a954414d2b Author: Nikolay Nikolov Date: Tue Aug 6 03:16:41 2024 +0300 * proper implementation for the function Sptr (which returns the stack pointer) for WebAssembly M rtl/wasm32/wasm32.inc --- commit 45ec51dc1f56e8511468583d99121cc942af05f3 Author: Michaël Van Canneyt Date: Tue Aug 6 08:59:24 2024 +0200 * Install error handler to examine exceptions during callback M packages/wasm-job/src/job.js.pas --- commit 25af7a4281eb9c7323320b0eaa5348a9daec39bf Author: Michaël Van Canneyt Date: Tue Aug 6 09:31:28 2024 +0200 * Export get_object_tree M packages/wasm-oi/src/wasm.debuginspector.api.pas --- commit d0b03c9c71369432011b0297674fd5bf0a5644df Author: Michaël Van Canneyt Date: Tue Aug 6 09:31:54 2024 +0200 * Correct callback handler for object tree M packages/wasm-oi/src/wasm.debuginspector.rtti.pas --- commit a81eac24838b7adaac46f50874b2a8c92aea593c Author: Michaël Van Canneyt Date: Thu Aug 8 09:59:30 2024 +0200 * Correct dictionary construction M packages/wasm-job/examples/job_web.pas --- commit 594b96e305e14f029b70a1330c6a96ca6e930972 Author: Michaël Van Canneyt Date: Thu Aug 8 17:36:08 2024 +0200 * Add CopyToMemory M packages/wasm-job/src/job.js.pas M packages/wasm-job/src/job.shared.pas --- commit ce04ce42eddf132f110173b5ba7e4f103e835d17 Author: Michaël Van Canneyt Date: Wed Aug 21 15:49:05 2024 +0200 * Objects passed in callback are ours to free M packages/wasm-job/src/job.js.pas --- commit 1210747f1d4354b8f00054fb3ee496462e5c4f11 Author: Michaël Van Canneyt Date: Wed Aug 21 15:49:05 2024 +0200 * Add overloads with offset and length for typed array constructor M packages/wasm-job/src/job.js.pas --- commit 1e6061845ee7923d066cc24f650ae3ddb0044976 Author: Michaël Van Canneyt Date: Fri Aug 23 16:07:44 2024 +0200 * Make sure reference count is properly managed M packages/wasm-job/src/job.js.pas --- commit c88873cd46efcbc367c003cc2155e0ce63490a21 Author: Pierre Muller Date: Wed Aug 28 09:21:24 2024 +0000 Add missing Makefile for h68units, testinsight and wasm-oi packages A packages/h68units/Makefile A packages/testinsight/Makefile A packages/wasm-oi/Makefile --- commit 3b0d2b329a8edcdfda5005bac6fcf1fbe2070ff5 Author: Michaël Van Canneyt Date: Fri Aug 30 22:51:21 2024 +0200 * Webassembly HTTP request API M packages/fpmake_add.inc M packages/fpmake_proc.inc A packages/wasm-utils/demo/http/wasmhttpdemo.lpi A packages/wasm-utils/demo/http/wasmhttpdemo.pp A packages/wasm-utils/fpmake.pp A packages/wasm-utils/src/wasm.http.api.pas A packages/wasm-utils/src/wasm.http.objects.pas A packages/wasm-utils/src/wasm.http.shared.pas --- commit 0314ba9bfdcd7bd092506e692df7b84edfa9f648 Author: Nikolay Nikolov Date: Tue Sep 3 01:12:33 2024 +0300 * WebAssembly threads: in TThread.WaitFor, call CheckSynchronize in a loop, while waiting on a thread that isn't finished, but the waiting happens on the main thread. This fixes the hang in test tb0636.pp M rtl/wasi/tthread.inc --- commit ccbc28dd85650b3db35cd414fbcca3acc1331c1e Author: Nikolay Nikolov Date: Tue Sep 3 02:30:09 2024 +0300 * WebAssembly: fixed SysUtils.sleep() with large timeouts causing incorrect time delay, due to arithmetic overflow M rtl/wasi/sysutils.pp --- commit 00e528996782c384b3a03cafbf18555420898147 Author: Nikolay Nikolov Date: Tue Sep 3 03:18:09 2024 +0300 * WebAssembly threads: fix race condition, which causes sometimes an abandoned basic event to be reported as signalled. This should fix the test tbrtlevt.pp sometimes failing. M rtl/wasi/systhrd.inc --- commit aef32d5de98cdd07c1843ced826ed128b84a2ab3 Author: Michaël Van Canneyt Date: Tue Sep 3 10:33:44 2024 +0200 * Add some utility methods to TJSarray for easier pushing of values M packages/wasm-job/src/job.js.pas --- commit 51fdff0e7f8ab62b1f66450fa930af1d970118ab Author: Michaël Van Canneyt Date: Sat Sep 7 11:36:24 2024 +0200 * Webassembly websocket support and demo A packages/wasm-utils/demo/README.md A packages/wasm-utils/demo/websocket/wasmwebsocketdemo.lpi A packages/wasm-utils/demo/websocket/wasmwebsocketdemo.pp M packages/wasm-utils/fpmake.pp A packages/wasm-utils/src/wasm.websocket.api.pas A packages/wasm-utils/src/wasm.websocket.objects.pas A packages/wasm-utils/src/wasm.websocket.shared.pas --- commit 46a9fcc5f93074c9c37fc2539cc9b19d094286f6 Author: Michaël Van Canneyt Date: Sat Sep 7 23:46:07 2024 +0200 * Regexp support for wasm target M packages/wasm-utils/demo/README.md A packages/wasm-utils/demo/regexp/wasmregexpdemo.lpi A packages/wasm-utils/demo/regexp/wasmregexpdemo.pp M packages/wasm-utils/fpmake.pp A packages/wasm-utils/src/wasm.regexp.api.pas A packages/wasm-utils/src/wasm.regexp.objects.pas A packages/wasm-utils/src/wasm.regexp.shared.pas --- commit c0d6efaada138f939f067562354f1dc483c5f353 Author: Michaël Van Canneyt Date: Sun Sep 8 10:47:14 2024 +0200 * Rename some identifiers to be more unique. Fixes issue #40915 M packages/wasm-utils/src/wasm.regexp.objects.pas M packages/wasm-utils/src/wasm.regexp.shared.pas M packages/wasm-utils/src/wasm.websocket.shared.pas --- commit 9600b5276ab4e010dfe8a316557c6757515598b8 Author: Michaël Van Canneyt Date: Sun Sep 8 10:56:24 2024 +0200 * Add license header M packages/wasm-utils/demo/regexp/wasmregexpdemo.pp M packages/wasm-utils/src/wasm.regexp.api.pas M packages/wasm-utils/src/wasm.regexp.objects.pas M packages/wasm-utils/src/wasm.regexp.shared.pas --- commit 1084346b005135274fdbd693dd1ff5b744e87707 Author: Michaël Van Canneyt Date: Tue Sep 10 15:52:12 2024 +0200 * Allow to set lastindex M packages/wasm-utils/src/wasm.regexp.api.pas M packages/wasm-utils/src/wasm.regexp.objects.pas M packages/wasm-utils/src/wasm.regexp.shared.pas --- commit cc15c3c2de57d0039fbdcad6632349c26e6c78c6 Author: Michaël Van Canneyt Date: Tue Sep 10 16:51:55 2024 +0200 * Regexp for wasm (using browser API) M packages/vcl-compat/fpmake.pp M packages/vcl-compat/src/system.regularexpressionscore.pp M packages/wasm-utils/fpmake.pp A packages/wasm-utils/src/wasm.pcrebridge.pas --- commit 3e2b0ac8b96d739b7f0b7f36d4ad432bd094a551 Author: Michaël Van Canneyt Date: Fri Sep 13 11:35:31 2024 +0200 * CopyFromMemory M packages/wasm-job/src/job.js.pas --- commit 633f905b79f556c0782d6381294546ea61ecbe85 Author: Michaël Van Canneyt Date: Fri Sep 13 14:41:27 2024 +0200 * Correct export name M packages/wasm-job/src/job.js.pas M packages/wasm-job/src/job.shared.pas --- commit 334102e3915212911b03280d719e874a35e9ee2d Author: Michaël Van Canneyt Date: Wed Sep 18 16:49:21 2024 +0200 * Add timer API and demo M packages/wasm-utils/demo/README.md A packages/wasm-utils/demo/timer/timerdemo.lpi A packages/wasm-utils/demo/timer/timerdemo.pp M packages/wasm-utils/fpmake.pp M packages/wasm-utils/src/wasm.http.api.pas A packages/wasm-utils/src/wasm.logger.api.pas A packages/wasm-utils/src/wasm.timer.api.pas A packages/wasm-utils/src/wasm.timer.objects.pas A packages/wasm-utils/src/wasm.timer.shared.pas M packages/wasm-utils/src/wasm.websocket.api.pas --- commit 1f0c72b6c18aaa6e2aefa9b6a250ccb461837e62 Author: Michaël Van Canneyt Date: Wed Sep 18 17:09:02 2024 +0200 * JOB debugobject call M packages/wasm-job/src/job.js.pas M packages/wasm-job/src/job.shared.pas --- commit 5ac4fd0b133541f705dd3478fb90a6f8f75ce70e Author: Michaël Van Canneyt Date: Wed Sep 18 17:32:37 2024 +0200 * Allow message in ShowAsDebug M packages/wasm-job/src/job.js.pas --- commit b18e3810499b15d3f0d4dd4c5612471523c18e68 Author: Michaël Van Canneyt Date: Wed Sep 18 17:49:41 2024 +0200 * Some minor improvements M packages/wasm-utils/demo/timer/timerdemo.pp M packages/wasm-utils/src/wasm.http.api.pas M packages/wasm-utils/src/wasm.logger.api.pas M packages/wasm-utils/src/wasm.websocket.api.pas --- commit ae83472a06f37feefb22a7906389ebb8d94d65a0 Author: Michaël Van Canneyt Date: Fri Sep 20 10:37:01 2024 +0200 DumpLiveObjects call M packages/wasm-job/src/job.js.pas --- commit 083ac5c1142ce6040133ec4da1318626367db612 Author: Michaël Van Canneyt Date: Fri Sep 20 11:34:24 2024 +0200 * Fix warnings, hints and notes M packages/wasm-utils/src/wasm.websocket.api.pas M packages/wasm-utils/src/wasm.websocket.objects.pas --- commit 368a77d75e78d0cae0c92ef4300117ed07afcc3d Author: Michaël Van Canneyt Date: Tue Sep 24 18:14:58 2024 +0200 * Fix memleak M packages/wasm-job/src/job.js.pas --- commit 37b7835b12bfec0382b308575ea4742223c01cc6 Author: Nikolay Nikolov Date: Sat Oct 19 16:11:25 2024 +0300 + added unit unix98pty. Only enabled for linux, for now, but can be enabled in the future on other unix-likes. M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/human68k/Makefile M rtl/inc/Makefile.rtl M rtl/java/Makefile M rtl/linux/Makefile M rtl/linux/Makefile.fpc M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile A rtl/namespaced/common/UnixApi.Unix98.PTY.pp M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/ps1/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile A rtl/unix/unix98pty.pp M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile --- commit 2cefdd35b56c48ff4f48b119b9e13582e3940d2a Author: Nikolay Nikolov Date: Thu Nov 7 01:41:16 2024 +0200 + WASI threads: define FPC_WASM_WORKER_THREADS_CAN_WAIT. It is actually true in all known cases (command line WASI or browser). M rtl/wasi/systhrd.inc --- commit 5a2b045388652a7640d3e8f3dfa0f69a9d7c15a5 Author: Michaël Van Canneyt Date: Mon Nov 11 12:10:10 2024 +0100 * Simple example for JOB call A packages/wasm-job/examples/bulma.min.css A packages/wasm-job/examples/hostsimpletest.lpi A packages/wasm-job/examples/hostsimpletest.lpr A packages/wasm-job/examples/index.html A packages/wasm-job/examples/simple.lpi A packages/wasm-job/examples/simple.lpr A packages/wasm-job/examples/simpleserver.ini --- commit e03e62f013cb259d43b056de85e8eba3fd61278b Author: Michaël Van Canneyt Date: Sat Nov 23 22:54:31 2024 +0100 * Some fixes in handling of headers M packages/wasm-utils/src/wasm.http.objects.pas --- commit 74ea291454b64f8896d015fdc9bdaf6d5db18e7b Author: Michaël Van Canneyt Date: Thu Nov 28 11:38:14 2024 +0100 * Typecast to pointer of self() needed M packages/wasm-utils/src/wasm.timer.objects.pas --- commit 7b213bb4e6a3221062afc1b0d3c40580603f4b9d Author: Michaël Van Canneyt Date: Thu Nov 28 11:40:48 2024 +0100 * Store session info only for project files M packages/wasm-utils/demo/timer/timerdemo.lpi --- commit fc0fb5968a98f3ba261cffbb679baa41eaf563c9 Author: Michaël Van Canneyt Date: Thu Nov 28 16:17:46 2024 +0100 * Make names unique across modules M packages/wasm-utils/src/wasm.timer.shared.pas --- commit 45f7be1b3c9485e7b3de3c5f48debca75b4bb559 Author: Michaël Van Canneyt Date: Thu Nov 28 16:57:08 2024 +0100 * Unique names for imports M packages/wasm-utils/src/wasm.websocket.shared.pas --- commit 9c4a354d7bf4eba9cd3453d780a55b6041836028 Author: Michaël Van Canneyt Date: Fri Nov 29 11:58:05 2024 +0100 * Add SharedMemoryBuffer M packages/wasm-job/src/job.js.pas --- commit 7f682589c7a33e74208b71c5aad347baab8313d6 Author: Michaël Van Canneyt Date: Tue Dec 3 23:42:17 2024 +0100 * Fix compilation M packages/wasm-utils/demo/websocket/wasmwebsocketdemo.pp --- commit 4ac0781dd8b0882f761b4887697b88e9ce903c90 Author: Michaël Van Canneyt Date: Tue Dec 3 23:42:45 2024 +0100 * Remove erroneously commited commented line M packages/wasm-utils/src/wasm.timer.objects.pas --- commit d775dadced3c86c4a530ab75a0bb13575f5cd4bd Author: Michaël Van Canneyt Date: Wed Dec 4 23:18:07 2024 +0100 * Atomics M packages/wasm-job/src/job.js.pas --- commit 573b82c67f58bda7f6cfb5cea54c49bbc4c962ed Author: Sven/Sarah Barth Date: Sat Dec 7 22:25:40 2024 +0100 * switch WebAssembly RTL to provide atomic intrinsic helpers instead of Interlocked* functions M rtl/wasm32/wasm32.inc --- commit 4c8f718a8b7e27c98cbee65db0b163b6613243ba Author: Michalis Kamburelis Date: Sun Dec 8 02:24:05 2024 +0100 Fix TJSArray._GetStrings: exit once you get correct value, do not fall through to raising error M packages/wasm-job/src/job.js.pas --- commit e94d02a06788c0953111efc08dd5a7c8da5789ee Author: Sven/Sarah Barth Date: Mon Dec 9 23:41:05 2024 +0100 * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again M rtl/aarch64/aarch64.inc M rtl/amiga/m68k/m68kamiga.inc M rtl/arm/arm.inc M rtl/arm/thumb.inc M rtl/arm/thumb2.inc M rtl/avr/avr.inc M rtl/i386/i386.inc M rtl/i8086/i8086.inc M rtl/inc/generic.inc M rtl/loongarch64/loongarch64.inc M rtl/m68k/m68k.inc M rtl/mips/mips.inc M rtl/powerpc/powerpc.inc M rtl/powerpc64/powerpc64.inc M rtl/riscv32/riscv32.inc M rtl/riscv64/riscv64.inc M rtl/sparc/sparc.inc M rtl/sparc64/sparc64.inc M rtl/wasm32/wasm32.inc M rtl/x86_64/x86_64.inc M rtl/xtensa/xtensa.inc M rtl/z80/z80.inc --- commit 8488c87b20efb6e3a934a9d71475ac3a24d9d6ef Author: Michaël Van Canneyt Date: Wed Jan 8 14:56:16 2025 +0100 * New fix for fpc_atomic_cmp_xchg_alu, as suggested by Sven M rtl/inc/generic.inc M rtl/wasm32/cpuh.inc M rtl/wasm32/wasm32.inc --- commit 40725146cc37345879b82d1edaba02fcf0687fff Author: Sven/Sarah Barth Date: Wed Jan 8 23:05:16 2025 +0100 + add intrinsic for 8-bit atomic cmpxchg for wasm32 (this way the fallback for cmxchg is no longer used for wasm32) M rtl/wasm32/wasm32.inc --- commit f29fe358ad694e288b751a4632ffda7ed77305b8 Author: Sven/Sarah Barth Date: Wed Jan 8 23:06:16 2025 +0100 - remove unnecessary defines M rtl/wasm32/wasm32.inc --- commit 925091d0d14658a943ff204e7f6a39819b42bc0f Author: Michaël Van Canneyt Date: Thu Jan 23 14:48:57 2025 +0100 * Fix compilation when using threading M rtl/wasm32/wasm32.inc --- commit 5e813e62f24635c3947c5adb1efcf94dfedd2f0e Author: Nikolay Nikolov Date: Sat Jan 25 08:21:56 2025 +0200 + added function fpc_wasm_invoke_helper to the WebAssembly RTL M rtl/inc/compproc.inc M rtl/wasm32/wasm32.inc --- commit 2e8b9e7e01ffbf180e5c0ac2a2a29d0e06b822a7 Author: Nikolay Nikolov Date: Sat Jan 25 11:55:57 2025 +0200 + initial implementation of System.Rtti.Invoke() for WebAssembly. Currently only works with the internal linker. Not all types have been tested, yet. M packages/rtl-objpas/fpmake.pp M packages/rtl-objpas/src/inc/rtti.pp A packages/rtl-objpas/src/wasm32/invoke.inc --- commit 12db8a59b526a292182da0b43adb15e9e30b6c7c Author: Nikolay Nikolov Date: Sun Jan 26 09:13:09 2025 +0200 * proper handling for boolean results (especially Boolean64 and QWordBool) in System.Rtti.Invoke M packages/rtl-objpas/src/wasm32/invoke.inc --- commit 6972d16c3ab08068898d123f5b677c6e56d96d1a Author: Nikolay Nikolov Date: Sun Jan 26 09:25:25 2025 +0200 * also handle enumeration results and integer result sizes, other than 32-bit in System.Rtti.Invoke for WebAssembly M packages/rtl-objpas/src/wasm32/invoke.inc --- commit 3e6ae3f887f9c69ccd23465b185b70fbe798acd1 Author: Michaël Van Canneyt Date: Fri Jan 31 11:36:04 2025 +0100 * Add TJSAtomics.waitAsync M packages/wasm-job/src/job.js.pas --- commit d06dd9532c66a81d197ebfe12134a48e3d30102e Author: Michaël Van Canneyt Date: Fri Jan 31 17:27:57 2025 +0100 * Fix compilation for unicode M packages/wasm-job/src/job.js.pas --- commit f270543bf4537afa59149e4fabe9c5a9d094f068 Author: Michaël Van Canneyt Date: Tue Feb 4 17:57:23 2025 +0100 * Assign result in async M packages/wasm-job/src/job.js.pas --- commit 0b3d0594582bf3e2a12f56310f1e5fe5b8ad532d Author: Michaël Van Canneyt Date: Fri Feb 7 16:42:44 2025 +0100 * Allow host environmentto get main and self thread IDs. Needed for inter-thread messaging in browser M rtl/wasi/systhrd.inc --- commit 637fa74c5c305cadcb0aad0c43b0f6a9a3c30888 Author: Michaël Van Canneyt Date: Tue Feb 11 10:38:08 2025 +0100 * API to share JOB objects between threads (if browser allows) M packages/wasm-job/fpmake.pp A packages/wasm-job/namespaced/Wasm.Job.Threading.pas M packages/wasm-job/namespaces.lst M packages/wasm-job/src/job.js.pas M packages/wasm-job/src/job.shared.pas A packages/wasm-job/src/job.threading.pas --- commit 008397cb492610afc8cce7a3d4b416daf4c60af0 Author: Michaël Van Canneyt Date: Thu Feb 13 15:45:00 2025 +0100 * Object ID must be controlled by wasm side M packages/wasm-job/src/job.js.pas M packages/wasm-job/src/job.shared.pas --- commit 708a479fdd177f27565d1c740c62266c590ab94b Author: Michaël Van Canneyt Date: Thu Feb 13 15:53:57 2025 +0100 * ID is now handled in webassembly M packages/wasm-utils/src/wasm.websocket.api.pas M packages/wasm-utils/src/wasm.websocket.objects.pas --- commit 7e89495a0950add0013733eb631483aa9ebf24e7 Author: Nikolay Nikolov Date: Tue Feb 25 12:21:45 2025 +0200 * WASI: workaround for FindFirst/FindNext opening the current directory, by using its full name M rtl/wasi/wasiutil.pp --- commit 6286ff38cca83503949d91e60edd03639dd6056d Author: Nikolay Nikolov Date: Tue Feb 25 12:51:12 2025 +0200 * WASI: avoid using inner preopened dirs, that escape to the parent with '..', in case there's an outer preopened dir M rtl/wasi/system.pp --- commit 7703ff9b34ee48665b37f418b699a3229c0bcaf5 Author: Nikolay Nikolov Date: Fri Feb 28 14:46:17 2025 +0200 * moved the common WASI RTL source files and includes to a 'wasicommon' dir R100 rtl/wasip1/classes.pp rtl/wasicommon/classes.pp R100 rtl/wasip1/dos.pp rtl/wasicommon/dos.pp R100 rtl/wasip1/rtldefs.inc rtl/wasicommon/rtldefs.inc R100 rtl/wasip1/si_dll.pp rtl/wasicommon/si_dll.pp R100 rtl/wasip1/si_prc.pp rtl/wasicommon/si_prc.pp R100 rtl/wasip1/sysdir.inc rtl/wasicommon/sysdir.inc R100 rtl/wasip1/sysfile.inc rtl/wasicommon/sysfile.inc R100 rtl/wasip1/sysheap.inc rtl/wasicommon/sysheap.inc R100 rtl/wasip1/sysos.inc rtl/wasicommon/sysos.inc R100 rtl/wasip1/sysosh.inc rtl/wasicommon/sysosh.inc R100 rtl/wasip1/system.pp rtl/wasicommon/system.pp R100 rtl/wasip1/systhrd.inc rtl/wasicommon/systhrd.inc R100 rtl/wasip1/sysutils.pp rtl/wasicommon/sysutils.pp R100 rtl/wasip1/tthread.inc rtl/wasicommon/tthread.inc R100 rtl/wasip1/wasiapi.pp rtl/wasicommon/wasiapi.pp R100 rtl/wasip1/wasiinc/wasiprocs.inc rtl/wasicommon/wasiinc/wasiprocs.inc R100 rtl/wasip1/wasiinc/wasitypes.inc rtl/wasicommon/wasiinc/wasitypes.inc R100 rtl/wasip1/wasiutil.pp rtl/wasicommon/wasiutil.pp R100 rtl/wasip1/wasmmutex.inc rtl/wasicommon/wasmmutex.inc M rtl/wasip1/Makefile M rtl/wasip1/Makefile.fpc M rtl/wasip1threads/Makefile M rtl/wasip1threads/Makefile.fpc --- commit 0977f0ac0d1ecf3284554b2613bbdd1bb03359a8 Author: Nikolay Nikolov Date: Fri Feb 28 15:07:21 2025 +0200 * WASI system.pp: check that WebAssembly threads are always turned off for the wasip1 target, and always turned on for the wasip1threads target M rtl/wasicommon/system.pp --- commit 736fc12e55ab4872f92d85a6d45f038bd658f94f Author: Michaël Van Canneyt Date: Wed Apr 2 11:21:03 2025 +0200 * Allow wasm guest & host to be notified of wasm memory growth M packages/wasm-utils/fpmake.pp M rtl/wasicommon/sysheap.inc M rtl/wasicommon/system.pp --- commit 9e9153b2d30c088de589ccfe57351a14d902c4a1 Author: Michaël Van Canneyt Date: Wed Apr 2 16:27:34 2025 +0200 * forgot to commit A packages/wasm-utils/src/wasm.memutils.pas --- commit cf73409470dd3688b070bc658b0f72c1621797ef Author: Michaël Van Canneyt Date: Thu May 1 13:16:00 2025 +0200 * License header M packages/wasm-utils/src/wasm.pcrebridge.pas --- commit 266a0af993498604899b2dd3586b7bd8ccbfaf8e Author: Michaël Van Canneyt Date: Thu May 1 13:16:52 2025 +0200 + API to get exception info in host environment M packages/wasm-utils/fpmake.pp A packages/wasm-utils/src/wasm.exceptions.pas --- commit e867b540344e13681b040b234101f282f30cbe60 Author: Michaël Van Canneyt Date: Fri May 2 09:32:11 2025 +0200 * Compile in mode objfpc M packages/wasm-utils/src/wasm.exceptions.pas