Description: RTL heapmanager related (active) Revisions in this set 56f0a71466be36f158e239238517287a47e59335,7b3e027dc8fdf8f4b188c8df7af23ac9b2c1d4e4,8015bfb5a08f3dad271472b11da7cbf3b2f87515,f0213a2c46a9fd1ea047da6c8f54b78823ef9c71,693e72ade31fda191fac405b81dd5f28afc6e47a,ee22dbe5898ef29cfe1c773e6f751ede99cf544f,c0372f80e00913d849ff6dbcf3387e664c74a6ec,99680eb88c425cd71edf808d6084fa51a636696c,0dabe496019e970e657cc95f3c34d45ddc3fe4ef,8b24033e93b3cc381cd27a137149ca5cd870ebba,ac8552afc2697be02cc955d42bf0f62ee2ea3a3a,6698f6c56b76c60476a15f20a4135dc8ca030acd,6edbc9ed7e3453a0ea19d2f64b01d6049f9aeeca,9d41a435c2c9524623f4c6002cfcd33f3c0822d4,d52aaf63eba440f2d8c8c13ce38c76e88a7f4e7e,caa2735203b91db513fe8af1e835aa711c0ccf77,86c036d9ed8a63040dbe4adf22c96668d94fc7cb,c298c0e0dadb96a99040b766091784831dd9d6f1,f12fcc9e065a6550617261dea1d9073cd4cea94b,b30a1bf447b75c7260eaafb1acaa7d008bdf48ea,ae346a87a128eb15db921cad916258839a1fe5ce,46de243fe607d4117a40994bb7b135013708f617,5418ccf31ebfe3857cfa784367f22eab253e1f22,8c8f8088ebaf68c83500668e97b9c16c41f7d92e,d3bc8745006e9b5278c325572b020956a844e219,ec8d82332ac7d9be03ff8ca0829b567140a7bade,d2d3fe6bc3f7499ef111e689fb848dab2a18fdae,ab3aae149bf7c9782b851201b66c57ddae42ea26,fb5b891c45a0774f0429eb672402bf760a61fb9a,591ad88ec0e0b97eef7685513770276cdcae7bd9,c4c3c2a7aa39e10488c5683a24f692340a2f90a5,442e9d2573af26be3f770a38157ad14031a5e62b,d85d6b4bac75a65672dc646dbc80eb14b6086377,d009941744f5566c8e36e931c43093b5783c3161,0b65c173b8a6a893ea0738e78bb13411cbcc9252,be4e5f240c9cef72e0867de9cf5aada8a564d459,4e1f854d49059d8eabd0e39d526a58dcdaec81b4,6489b6fc3662533e8785e06a3c1b8e22c6f46249,cb6fe28898d951afa14e282856dc4dc13366e328,41ae52dde1f6a3b213c49316921a2d8824d46077,7d1999eedb23e0560ae2e2840ae52decbf733e73,c95dfe24e7203ebc73429d5bbb839d6aba1c8b67,7681c192dbb6d74b6944061863445a55825506a1,6be3a42a2f18a349402d18241c83d68c492c7bd5,feb7d54553838a48873fc2a198e822740f2ed733,322301ef0b108e3d567b014af89125157c7c0a52,47b45068026c90557ae7a99cf0ba1016782cd924,94e399faf701699bf5b211ceb581ec4461377936,c08d73054a8e99c38a588df27c30115f298fcec8,ba7a76bf37e402167f65e8a7a4ac97a0bf595da3,f6726b6a874fd6280cf343482c50168247088400,7703ff9b34ee48665b37f418b699a3229c0bcaf5,1d22802ba97ac135714c8f6944c745517c3ad3c2,736fc12e55ab4872f92d85a6d45f038bd658f94f,5952c5452b2a8db9b25083b7d9a88e6a6148d56a,06aff099c163330f64f6a871ebe4ede1fabe7286,c8bf474d6d0fd0aab4399033d42c643c9264a3d4,1f3cdf10b70bb83e82dc8ae3f3061a46814577a7,2de241b9ac50be94703ea3d7956cf27e3244a685,dfbd4eac2a81a88c0e11367d0159781c2e254821,1ae6ea8f88bb85e469d4f3bc2672859c3147c94c,198abf11102dffe016017ab966dd97741ce0a93f,571088ff80cc883c5a26840a9fc41445b25af0ae,a8baa49c8612634d317d916904feaa2acba67bcb,37a74744713d98643bddae01e040d19f2e547eba,463a14e2951704b0937ddbb7d601716b9526e4ea,1ca244023f1782753c3369f5162702b87a906300,1527c578bfe0060db2a9b5d06bc55f10cad2acb4,7e0e284fce59b7e1a0f7638db205bcc9bbb576cf,02752fdd36d556ebab970c2d8eba0ce689fcabb4,20fb141ca24489f8c5f026c5ca360de5e8a7a2bc,0a45266aeca2b784c6fd65360ea318b489a9a504,85345c54d878838e8b1f034c2d55d6a34104b443,cb4bcaa068c86564249be6f58c28458c8fa839d0,bc59422f00c3ce3b451f543013a4a50139e80a6b,6473bc1e82d28374fdcd4d1c2eb3ac8c1a3d6d7a,df8c00e2bb03a9a4b406d1e90333a87869182187,562048c965f06a75caf878087aae44a10be56a55,5c5ace6b13b7adcc050237bd80b34568d03bec89,2c542734537fb87fb264ed30fa7becd294e1dc51,7435893d392e199f9379a218582ab6a650de2917,7452fb5477cfccbea4bac1ae10d3647df461504b,5e0cbc5b22c666cd7536db5c81479a4fe10f9964,9f4483823a03b7116660be0d07a5068f2d5233d6,1ab295ac6b3f612f318457c48f345b471bca94e7,bbf0df48ad89c8ecb9f5e023ac737eb6aecc27f2,64eb8083acd7f61127c9cd748f274e04a4ea16aa,db09ff937030ed73675d17c403997da9942f5f5d,4e69e46b8e551b6a6ce612b9488d69e6e012e334,49805e03616c0722aefcb1c4b1819fbb3482c531,4f2bf506e508961866180ea6dcb716a78d57e8d5,32c1d7f9bd72bfd4305e5b566708021c7efb7f80,d91a4ef56f98b1d4695cf7cd8312b9458ac425c6,2aa8fe76d96326e9adaa2e463831260e41d7bab2,9c2da4ad14ef9fb3868d26caaf42406f399fc887,354b335b0674006c5f951a20b8764c5b06151e95,78f7d0bd1e984457dc332ccc982561502c8531f4,06b17e637162b071d56996459d2724b7372a7a0b,928312d331b06658316fb1d7a1adb55ded530e60,b8f789143a02159cae1ba9ae309e42408b317562,6a7d42bb22ff18fd0617108517ba9ece4b7a3e14,50732a780ec8665f1b8fe5bbb84de2db0b649b44,08c1e50ebc0c0b049db198fe71d7d2419ec4922b,2b44cafdf397117578fc974e4a842a997c09fca2,daa27044ec474e9b6c547cae667653fb8e574cc7,28f6bb4ef1cccbe6b6cf719505ad44b23db64633,0666ce8bda13741d33ef9a22b878ae0bab86d410,9a39e9ef8a001914b2c51dd587139227247089cb,88df11c0194864fd6ac6540244e483ff2c5d83e3,7b4387b267ef6a8dae4f7f637e96c9ebdee096f1,23f09802686b0fa4d5b204419899576f14059b1e,0ee82363fc2b5add7564b8be81df2a4b4709fe93,887dc52ef4ed6fbd3f913c8a7dab3d54549e2dc0 commit 56f0a71466be36f158e239238517287a47e59335 Author: Károly Balogh Date: Sun Jan 13 16:23:18 2019 +0000 heaptrc: empty the array for the call trace, otherwise the trace dump code will just dump the rest of the array as well, on systems where the heap is not initialized to zero, or if the memory area has been re-used git-svn-id: trunk@40856 - M rtl/inc/heaptrc.pp --- commit 7b3e027dc8fdf8f4b188c8df7af23ac9b2c1d4e4 Author: pierre Date: Tue Apr 16 15:05:13 2019 +0000 Move update of fields counting allocated memory to after SysGetMem call git-svn-id: trunk@41882 - M rtl/inc/heaptrc.pp --- commit 8015bfb5a08f3dad271472b11da7cbf3b2f87515 Author: pierre Date: Mon Aug 12 12:17:00 2019 +0000 Fix arm specific failure in tw12048 git-svn-id: trunk@42657 - M rtl/inc/heaptrc.pp --- commit f0213a2c46a9fd1ea047da6c8f54b78823ef9c71 Author: florian Date: Fri Aug 16 20:47:37 2019 +0000 + make use of the mremap syscall of linux to re-allocate large memory blocks faster git-svn-id: trunk@42713 - M .gitattributes M rtl/inc/heap.inc M rtl/linux/ossysc.inc M rtl/unix/sysheap.inc A tests/test/theap2.pp --- commit 693e72ade31fda191fac405b81dd5f28afc6e47a Author: Jonas Maebe Date: Sun Aug 18 15:55:07 2019 +0000 * Darwin now uses Mach VM calls for memory allocation instead of mmap/munmap + added sysrealloc support for Darwin (Darwin does not have mremap) git-svn-id: trunk@42729 - M .gitattributes M rtl/bsd/sysos.inc M rtl/bsd/system.pp A rtl/darwin/sysmach.inc M rtl/unix/sysheap.inc --- commit ee22dbe5898ef29cfe1c773e6f751ede99cf544f Author: pierre Date: Tue Sep 24 12:44:01 2019 +0000 Handle change of memory base address after call to SysTryResizeMem git-svn-id: trunk@43062 - M rtl/inc/heaptrc.pp --- commit c0372f80e00913d849ff6dbcf3387e664c74a6ec Author: florian Date: Sat Oct 5 20:48:27 2019 +0000 * with section threadvars, heap relocation is not needed git-svn-id: trunk@43130 - M rtl/inc/heap.inc --- commit 99680eb88c425cd71edf808d6084fa51a636696c Author: florian Date: Sun Dec 22 22:51:53 2019 +0000 * patch by Anton Kavalenka: heaptrc: Improve tracing by printing actual module name (ether EXE or DLL), resolves #36130 git-svn-id: trunk@43710 - M rtl/inc/heaptrc.pp --- commit 0dabe496019e970e657cc95f3c34d45ddc3fe4ef Author: florian Date: Sun Dec 22 23:34:22 2019 +0000 * fix building on non-unix/windows targets git-svn-id: trunk@43711 - M rtl/inc/heaptrc.pp --- commit 8b24033e93b3cc381cd27a137149ca5cd870ebba Author: florian Date: Sun Dec 22 23:39:44 2019 +0000 * last fix was most likely not complete git-svn-id: trunk@43712 - M rtl/inc/heaptrc.pp --- commit ac8552afc2697be02cc955d42bf0f62ee2ea3a3a Author: svenbarth Date: Sat Jun 6 17:16:45 2020 +0000 + add initial RTL for MSX DOS. Simple programs are already working, but there are apparantly some code generation problems that lead to I/O as well as parameters not working correctly git-svn-id: trunk@45600 - M .gitattributes M rtl/Makefile.fpc A rtl/msxdos/Makefile.fpc A rtl/msxdos/registers.inc A rtl/msxdos/rtldefs.inc A rtl/msxdos/si_prc.pp A rtl/msxdos/sysdir.inc A rtl/msxdos/sysfile.inc A rtl/msxdos/sysheap.inc A rtl/msxdos/sysos.inc A rtl/msxdos/sysosh.inc A rtl/msxdos/system.pp --- commit 6698f6c56b76c60476a15f20a4135dc8ca030acd Author: florian Date: Wed Jun 10 18:53:06 2020 +0000 * patch by Christo Crause: FreeRTOS: heap manager doesn't free small blocks, resolves #37195 git-svn-id: trunk@45633 - M rtl/freertos/heapmgr.pp --- commit 6edbc9ed7e3453a0ea19d2f64b01d6049f9aeeca Author: yury Date: Fri Jul 24 16:02:13 2020 +0000 * tinyheap: Early check for very big requested mem sizes in order to prevent overflows and properly report the out of memory error. git-svn-id: trunk@45844 - M rtl/inc/tinyheap.inc --- commit 9d41a435c2c9524623f4c6002cfcd33f3c0822d4 Author: yury Date: Wed Aug 19 10:48:00 2020 +0000 * tinyheap: Disable inline when FPC_TINYHEAP_HUGE is defined to prevent code bloat. git-svn-id: trunk@46492 - M rtl/inc/tinyheap.inc --- commit d52aaf63eba440f2d8c8c13ce38c76e88a7f4e7e Author: pierre Date: Thu Sep 24 09:48:49 2020 +0000 msxdos target uses same __fpc_envp symbol as msdos git-svn-id: trunk@46935 - M rtl/inc/heaptrc.pp --- commit caa2735203b91db513fe8af1e835aa711c0ccf77 Author: Károly Balogh Date: Fri Apr 9 02:20:22 2021 +0000 osheap: new very small heap manager which only acts as a thin layer above an OS provided heap API. mainly aimed for small and embedded systems git-svn-id: trunk@49145 - M .gitattributes A rtl/inc/osheap.inc --- commit 86c036d9ed8a63040dbe4adf22c96668d94fc7cb Author: pierre Date: Tue Apr 13 20:57:18 2021 +0000 Explicitly disable range and overflow checking to avoid troubles with pointer arithmetics git-svn-id: trunk@49198 - M rtl/inc/heaptrc.pp --- commit c298c0e0dadb96a99040b766091784831dd9d6f1 Author: Karoly Balogh Date: Sun Dec 26 15:56:34 2021 +0100 rtl/osheap: fixed a dumb reversed condition in osheap/SysAllocMem() M rtl/inc/osheap.inc --- commit f12fcc9e065a6550617261dea1d9073cd4cea94b Author: Karoly Balogh Date: Wed Jan 26 01:06:01 2022 +0100 * rtl/atari: do not default to tinyheap for now. the compiler itself doesn't work with tinyheap for some reason M rtl/atari/system.pp --- commit b30a1bf447b75c7260eaafb1acaa7d008bdf48ea Author: Karoly Balogh Date: Fri Feb 4 11:43:49 2022 +0100 * rtl/atari: naming: gemdos_free is actually gemdos_mfree. no functional change. M rtl/atari/gemdos.inc M rtl/atari/sysheap.inc --- commit ae346a87a128eb15db921cad916258839a1fe5ce Author: Sven/Sarah Barth Date: Wed Jun 15 22:55:13 2022 +0200 * ensure that the heaptrc unit can be used on Linux and BSD without linking against the C library M rtl/inc/heaptrc.pp --- commit 46de243fe607d4117a40994bb7b135013708f617 Author: marcoonthegit Date: Sat Jun 18 14:50:13 2022 +0200 * fix bootstrap with 3.2.2, whi M rtl/inc/heaptrc.pp --- commit 5418ccf31ebfe3857cfa784367f22eab253e1f22 Author: marcoonthegit Date: Sat Jun 18 14:52:24 2022 +0200 * fix bootstrapping *BSD with 3.2.2, which isn't flagged as supporting weakexternal on those targets M rtl/inc/heaptrc.pp --- 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 d3bc8745006e9b5278c325572b020956a844e219 Author: Michael VAN CANNEYT Date: Thu Dec 22 11:45:35 2022 +0100 * Char -> AnsiChar M rtl/msdos/dos.pp M rtl/msdos/sysdir.inc M rtl/msdos/sysfile.inc M rtl/msdos/sysheap.inc M rtl/msdos/system.pp M rtl/msdos/sysutils.pp --- commit ec8d82332ac7d9be03ff8ca0829b567140a7bade Author: Michael VAN CANNEYT Date: Thu Dec 22 11:47:53 2022 +0100 * Char -> AnsiChar M rtl/msxdos/sysdir.inc M rtl/msxdos/sysfile.inc M rtl/msxdos/sysheap.inc M rtl/msxdos/system.pp --- commit d2d3fe6bc3f7499ef111e689fb848dab2a18fdae Author: Michael VAN CANNEYT Date: Thu Dec 22 15:15:54 2022 +0100 * Char -> AnsiChar M rtl/inc/astrings.inc M rtl/inc/blockrtl.pp M rtl/inc/cgeneric.inc M rtl/inc/cgenstr.inc M rtl/inc/charset.pp M rtl/inc/compproc.inc M rtl/inc/dos.inc M rtl/inc/dynlib.inc M rtl/inc/dynlibh.inc M rtl/inc/dynlibs.pas M rtl/inc/exeinfo.pp M rtl/inc/extres.inc M rtl/inc/fexpand.inc M rtl/inc/file.inc M rtl/inc/flt_core.inc M rtl/inc/fpintres.pp M rtl/inc/generic.inc M rtl/inc/genstr.inc M rtl/inc/genstrs.inc M rtl/inc/getopts.pp M rtl/inc/heaptrc.pp M rtl/inc/intres.inc M rtl/inc/iso7185.pp M rtl/inc/lineinfo.pp M rtl/inc/lnfodwrf.pp M rtl/inc/lstrings.pp M rtl/inc/macpas.pp M rtl/inc/objc1.inc M rtl/inc/objcnf.inc M rtl/inc/objpash.inc M rtl/inc/psabiehh.inc M rtl/inc/resh.inc M rtl/inc/rtti.inc M rtl/inc/sstrings.inc M rtl/inc/strings.pp M rtl/inc/stringsi.inc M rtl/inc/sysres.inc M rtl/inc/system.inc M rtl/inc/systemh.inc M rtl/inc/text.inc M rtl/inc/threadvr.inc M rtl/inc/ustringh.inc M rtl/inc/ustrings.inc M rtl/inc/uuchar.pp M rtl/inc/variant.inc M rtl/inc/varianth.inc M rtl/inc/wstringh.inc M rtl/inc/wstrings.inc --- commit ab3aae149bf7c9782b851201b66c57ddae42ea26 Author: wsherman Date: Sat Jan 7 18:50:02 2023 -0800 * googleapiconv fixes and cleanup (ref #40094) - Add updated URL for google api discovery - Fix incorrect usage / help messages and put options in alpha order - Replace "with .. do" statement with a local variable for clarity - Add missing DiscoveryJSONToPas.Execute so output files are not empty - Add FreeAndNil(Application) to clear a memory leak (it now has a clean Heaptrc) - Minor fix to .lpi file which had incorrect dependency. M packages/googleapi/generator/googleapiconv.lpi M packages/googleapi/generator/googleapiconv.pp --- commit fb5b891c45a0774f0429eb672402bf760a61fb9a Author: Michaël Van Canneyt Date: Sun Jul 23 23:32:37 2023 +0200 * Fix issue #40360 M rtl/inc/heap.inc --- commit 591ad88ec0e0b97eef7685513770276cdcae7bd9 Author: Pierre Muller Date: Wed Aug 2 11:23:12 2023 +0200 Add heaptrc and fix several namespaced unit names M rtl/win32/buildrtl.pp --- commit c4c3c2a7aa39e10488c5683a24f692340a2f90a5 Author: Karoly Balogh Date: Tue Nov 21 07:02:25 2023 +0100 human68k: add an RTL skeleton, almost nothing is implemented yet A rtl/human68k/Makefile.fpc A rtl/human68k/buildrtl.pp A rtl/human68k/classes.pp A rtl/human68k/rtl.cfg A rtl/human68k/rtldefs.inc A rtl/human68k/sysdir.inc A rtl/human68k/sysfile.inc A rtl/human68k/sysheap.inc A rtl/human68k/sysos.inc A rtl/human68k/sysosh.inc A rtl/human68k/system.pp A rtl/human68k/sysutils.pp A rtl/human68k/tthread.inc --- commit 442e9d2573af26be3f770a38157ad14031a5e62b Author: Karoly Balogh Date: Thu Nov 30 14:16:19 2023 +0100 human68k: RTL works enough now to run a hello, world! M rtl/human68k/README.md A rtl/human68k/h68kdos.inc M rtl/human68k/si_prc.pp M rtl/human68k/sysfile.inc M rtl/human68k/sysheap.inc M rtl/human68k/sysos.inc M rtl/human68k/system.pp --- commit d85d6b4bac75a65672dc646dbc80eb14b6086377 Author: Karoly Balogh Date: Sun Dec 3 03:26:40 2023 +0100 human68k: handle the OS malloc returning errors properly M rtl/human68k/sysheap.inc --- commit d009941744f5566c8e36e931c43093b5783c3161 Author: Karoly Balogh Date: Sun Dec 3 09:51:08 2023 +0100 human68k: setup the stack, then use setblock to limit the memory usage to the amount we're really using. this frees up RAM, and allows the heap allocator to work. M rtl/human68k/si_prc.pp --- commit 0b65c173b8a6a893ea0738e78bb13411cbcc9252 Author: Karoly Balogh Date: Sun Dec 3 09:52:31 2023 +0100 human68k: disable tinyheap, as there's some memory trashing going on with it, and use the regular one for now M rtl/human68k/system.pp --- commit be4e5f240c9cef72e0867de9cf5aada8a564d459 Author: Karoly Balogh Date: Mon Jan 8 01:32:49 2024 +0100 m68k-sinclairql: make heaptrc compile for the QL M rtl/inc/heaptrc.pp --- commit 4e1f854d49059d8eabd0e39d526a58dcdaec81b4 Author: florian Date: Fri Mar 1 22:49:18 2024 +0100 * patch by Rika + test: Don’t explicitly change GetMem(0) to GetMem(1), it works anyway, resolves #40456 M rtl/inc/heap.inc A tests/tbs/tb0710.pp --- commit 6489b6fc3662533e8785e06a3c1b8e22c6f46249 Author: Rika Ichinose Date: Mon Apr 29 22:46:55 2024 +0300 Shorten win/systhrd.inc; fix SetThreadStackGuarantee signature. M rtl/win/sysheap.inc M rtl/win/sysos.inc M rtl/win/systhrd.inc M rtl/win32/system.pp M rtl/win64/system.pp --- commit cb6fe28898d951afa14e282856dc4dc13366e328 Author: Pierre Muller Date: Thu May 2 07:56:33 2024 +0000 Add support for DISABLE_SYSTEMINLINE inside heaptrc unit M rtl/inc/heaptrc.pp --- commit 41ae52dde1f6a3b213c49316921a2d8824d46077 Author: Rika Ichinose Date: Fri May 3 10:34:47 2024 +0300 Import Heap* functions on WinCE. M rtl/win/sysos.inc --- 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 7681c192dbb6d74b6944061863445a55825506a1 Author: Nikolay Nikolov Date: Sun Aug 4 03:15:31 2024 +0300 * WebAssembly threads: protect SysOSAlloc against race conditions via a critical section M rtl/wasi/sysheap.inc M rtl/wasi/systhrd.inc --- commit 6be3a42a2f18a349402d18241c83d68c492c7bd5 Author: Nikolay Nikolov Date: Sun Aug 4 18:04:05 2024 +0300 * WebAssembly: optimized SysOSAlloc to use memory area left at the end of the page (64kb). This reduces memory use, when SysOSAlloc is called with sizes, smaller than 64kb. M rtl/wasi/sysheap.inc --- commit feb7d54553838a48873fc2a198e822740f2ed733 Author: Pierre Muller Date: Fri Sep 13 09:21:47 2024 +0000 Fix compilation of heaptrc unit using fixes branch bsd compiler M rtl/inc/heaptrc.pp --- commit 322301ef0b108e3d567b014af89125157c7c0a52 Author: Nikolay Nikolov Date: Fri Oct 4 23:13:52 2024 +0300 * PS1: initialize the heap with the proper addresses - between bss_end and StackBottom M rtl/ps1/system.pp --- commit 47b45068026c90557ae7a99cf0ba1016782cd924 Author: Nikolay Nikolov Date: Fri Oct 4 23:23:30 2024 +0300 * PS1: call InitHeap to finish the Pascal part of the heap initialization M rtl/ps1/system.pp --- commit 94e399faf701699bf5b211ceb581ec4461377936 Author: Nikolay Nikolov Date: Sat Oct 5 00:41:40 2024 +0300 * PS1: clamp the stack size, so it doesn't exceed the maximum memory available (minus 1k for heap) M rtl/ps1/system.pp --- commit c08d73054a8e99c38a588df27c30115f298fcec8 Author: Rika Ichinose Date: Sun Oct 27 18:29:46 2024 +0300 Return MemSize from FreeMem. M rtl/inc/heap.inc A tests/webtbs/tw40974.pp --- commit ba7a76bf37e402167f65e8a7a4ac97a0bf595da3 Author: Rika Ichinose Date: Sun Oct 27 21:49:05 2024 +0300 Allow MemSize(nil) to match FreeMem(nil). M rtl/inc/heap.inc M rtl/inc/heaptrc.pp --- commit f6726b6a874fd6280cf343482c50168247088400 Author: Kirill Kranz Date: Sat Nov 9 02:40:44 2024 +0100 InitHeap to aligned size M rtl/ps1/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 1d22802ba97ac135714c8f6944c745517c3ad3c2 Author: Nikolay Nikolov Date: Mon Mar 10 23:28:10 2025 +0200 + initial wasip2 rtl, most things are not implemented M rtl/Makefile M rtl/Makefile.fpc A rtl/wasip2/Makefile A rtl/wasip2/Makefile.fpc A rtl/wasip2/rtldefs.inc A rtl/wasip2/si_dll.pp A rtl/wasip2/si_prc.pp A rtl/wasip2/sysdir.inc A rtl/wasip2/sysfile.inc A rtl/wasip2/sysheap.inc A rtl/wasip2/sysos.inc A rtl/wasip2/sysosh.inc A rtl/wasip2/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 5952c5452b2a8db9b25083b7d9a88e6a6148d56a Author: Rika Ichinose Date: Sat Apr 12 21:10:27 2025 +0300 Allow freeing EHeapException and its descendants. M rtl/objpas/sysutils/sysutilh.inc M rtl/objpas/sysutils/sysutils.inc --- commit 06aff099c163330f64f6a871ebe4ede1fabe7286 Author: Michaël Van Canneyt Date: Fri Apr 18 14:18:41 2025 +0200 * Move heap to oldheap, prepare for MR !694 R100 rtl/inc/heap.inc rtl/inc/oldheap.inc M rtl/inc/system.inc --- commit c8bf474d6d0fd0aab4399033d42c643c9264a3d4 Author: Michaël Van Canneyt Date: Fri Apr 18 14:44:24 2025 +0200 * Switch to new heap by RuneWalsh (MR !694) A rtl/inc/heap.inc M rtl/inc/system.inc --- commit 1f3cdf10b70bb83e82dc8ae3f3061a46814577a7 Author: Michaël Van Canneyt Date: Fri Apr 18 14:44:52 2025 +0200 * Inline some heap manager calls M rtl/inc/heaph.inc --- commit 2de241b9ac50be94703ea3d7956cf27e3244a685 Author: florian Date: Fri Apr 18 14:54:56 2025 +0200 * fix line history part 1 D rtl/inc/heap.inc --- commit dfbd4eac2a81a88c0e11367d0159781c2e254821 Author: florian Date: Fri Apr 18 14:55:13 2025 +0200 + fix line history part 2 R100 rtl/inc/oldheap.inc rtl/inc/heap.inc --- commit 1ae6ea8f88bb85e469d4f3bc2672859c3147c94c Author: florian Date: Fri Apr 18 14:59:19 2025 +0200 * fix line history part 3 M rtl/inc/heap.inc --- commit 198abf11102dffe016017ab966dd97741ce0a93f Author: florian Date: Sat Apr 19 10:57:58 2025 +0200 * restore forgotten oldheap.inc A rtl/inc/oldheap.inc --- commit 571088ff80cc883c5a26840a9fc41445b25af0ae Author: Rika Ichinose Date: Wed Apr 23 14:14:35 2025 +0300 Pass huge chunks directly to SysOSAlloc/Realloc/Free. M rtl/inc/heap.inc M rtl/win/sysheap.inc M rtl/win/sysos.inc --- commit a8baa49c8612634d317d916904feaa2acba67bcb Author: Rika Ichinose Date: Sat May 3 04:29:00 2025 +0300 Use red-black trees for variable freelists. M rtl/inc/heap.inc --- commit 37a74744713d98643bddae01e040d19f2e547eba Author: Rika Ichinose Date: Thu May 8 12:09:15 2025 +0300 Call custom MemoryManager.DoneThread before FinalizeHeap. M rtl/inc/thread.inc --- commit 463a14e2951704b0937ddbb7d601716b9526e4ea Author: Rika Ichinose Date: Thu May 15 06:22:29 2025 +0300 RbTree.ChangeInPlace for cheaper reinsertions. M rtl/inc/heap.inc --- commit 1ca244023f1782753c3369f5162702b87a906300 Author: Rika Ichinose Date: Fri May 16 21:48:02 2025 +0300 Make HeapInc.gs.hugeUsed atomic. M rtl/inc/heap.inc --- commit 1527c578bfe0060db2a9b5d06bc55f10cad2acb4 Author: Pierre Muller Date: Mon May 19 11:36:00 2025 +0000 Always return allocated size in TraceFreeMemSize M rtl/inc/heaptrc.pp --- commit 7e0e284fce59b7e1a0f7638db205bcc9bbb576cf Author: Rika Ichinose Date: Tue May 20 10:44:46 2025 +0300 Allocate fixed arenas within variable OS chunks. M rtl/inc/heap.inc M rtl/inc/heaph.inc --- commit 02752fdd36d556ebab970c2d8eba0ce689fcabb4 Author: Rika Ichinose Date: Mon May 26 01:50:45 2025 +0300 Orphaned chunks can’t have empty arenas. M rtl/inc/heap.inc --- commit 20fb141ca24489f8c5f026c5ca360de5e8a7a2bc Author: Rika Ichinose Date: Mon May 26 02:03:53 2025 +0300 Instantly free OS chunks of dead threads. M rtl/inc/heap.inc --- commit 0a45266aeca2b784c6fd65360ea318b489a9a504 Author: Rika Ichinose Date: Wed May 28 01:31:46 2025 +0300 Remove HeapInc.FirstFlag. M rtl/inc/heap.inc --- commit 85345c54d878838e8b1f034c2d55d6a34104b443 Author: Rika Ichinose Date: Mon Jun 2 12:50:49 2025 +0300 Change RbTree to a FastMM-like two-level bitfield. M rtl/inc/heap.inc --- commit cb4bcaa068c86564249be6f58c28458c8fa839d0 Author: Rika Ichinose Date: Wed Jun 4 12:42:46 2025 +0300 Inline AllocFixed & FreeFixed (and make friendlier to inlining). M rtl/inc/heap.inc --- commit bc59422f00c3ce3b451f543013a4a50139e80a6b Author: Rika Ichinose Date: Sat Jun 7 15:01:19 2025 +0300 Allow shrinking small chunks. M rtl/inc/heap.inc --- commit 6473bc1e82d28374fdcd4d1c2eb3ac8c1a3d6d7a Author: Rika Ichinose Date: Thu Jun 12 21:22:01 2025 +0300 Remove HeapInc.gs.varOS. M rtl/inc/heap.inc --- commit df8c00e2bb03a9a4b406d1e90333a87869182187 Author: Rika Ichinose Date: Sun Jun 15 19:56:05 2025 +0300 Scan orphaned freelists for free space as a last chance before allocating new OS chunk. M rtl/inc/heap.inc --- commit 562048c965f06a75caf878087aae44a10be56a55 Author: Rika Ichinose Date: Thu Jun 19 22:16:44 2025 +0300 Remove FPC_IN_HEAPMGR, FPC_NO_DEFAULT_MEMORYMANAGER, and unnecessary uses of FPC_NO_DEFAULT_HEAP. M rtl/inc/heap.inc M rtl/inc/heaph.inc M rtl/inc/system.inc M rtl/inc/thread.inc M rtl/inc/threadvr.inc M rtl/win16/system.pp --- commit 5c5ace6b13b7adcc050237bd80b34568d03bec89 Author: Rika Ichinose Date: Fri Jun 27 01:08:49 2025 +0300 Reduce VarHeader size to 8 bytes. M rtl/inc/heap.inc --- commit 2c542734537fb87fb264ed30fa7becd294e1dc51 Author: Rika Ichinose Date: Fri Jun 27 01:09:17 2025 +0300 Round medium sizes up to the bin size. M rtl/inc/heap.inc --- commit 7435893d392e199f9379a218582ab6a650de2917 Author: Rika Ichinose Date: Wed Jul 2 13:56:28 2025 +0300 Allow semi-invisible medium chunks smaller than the minimim size. M rtl/inc/heap.inc --- commit 7452fb5477cfccbea4bac1ae10d3647df461504b Author: Margers Date: Tue Jul 15 07:14:47 2025 +0000 Correct position of Clock and Heap view after screen resize. M packages/fv/examples/testapp.pas --- commit 5e0cbc5b22c666cd7536db5c81479a4fe10f9964 Author: Rika Ichinose Date: Thu Jul 17 14:45:25 2025 +0300 Reallocate memory AGGRESSIVELY, incline ReallocMem to defragment. M rtl/inc/heap.inc --- commit 9f4483823a03b7116660be0d07a5068f2d5233d6 Author: Rika Ichinose Date: Tue Jul 22 22:13:17 2025 +0300 Finish heaptrc to-free queue before reporting leaks. M rtl/inc/heaptrc.pp --- commit 1ab295ac6b3f612f318457c48f345b471bca94e7 Author: Rika Ichinose Date: Wed Jul 23 19:27:52 2025 +0300 Outline heaptrc output file selection. M rtl/inc/heaptrc.pp --- commit bbf0df48ad89c8ecb9f5e023ac737eb6aecc27f2 Author: Rika Ichinose Date: Wed Jul 23 19:29:32 2025 +0300 Remove getmem8_size and freemem8_size; make EntryMemUsed thread-local. M rtl/inc/heaptrc.pp --- commit 64eb8083acd7f61127c9cd748f274e04a4ea16aa Author: Rika Ichinose Date: Fri Aug 1 22:03:35 2025 +0300 Track TFPCHeapStatus.MaxHeapUsed less thoroughly. M rtl/inc/heap.inc --- commit db09ff937030ed73675d17c403997da9942f5f5d Author: Rika Ichinose Date: Sun Aug 3 10:14:51 2025 +0300 Inline two variants of VarSizeToBinIndex and fix an irreproducible bug in unsynchronized gs.varFree.Find. M rtl/inc/heap.inc --- commit 4e69e46b8e551b6a6ce612b9488d69e6e012e334 Author: Rika Ichinose Date: Mon Aug 4 01:04:09 2025 +0300 Remove SysTryResizeMem. M rtl/inc/heap.inc M rtl/inc/heaph.inc M rtl/inc/heaptrc.pp M rtl/inc/osheap.inc M rtl/inc/tinyheap.inc M rtl/nativent/sysheap.inc M rtl/wince/system.pp --- commit 49805e03616c0722aefcb1c4b1819fbb3482c531 Author: Rika Ichinose Date: Mon Aug 4 05:18:33 2025 +0300 Update maxUsed at the correct moment. M rtl/inc/heap.inc --- commit 4f2bf506e508961866180ea6dcb716a78d57e8d5 Author: Rika Ichinose Date: Fri Sep 5 00:08:55 2025 +0300 Allocate fixed arenas loosely. M rtl/inc/heap.inc --- commit 32c1d7f9bd72bfd4305e5b566708021c7efb7f80 Author: Rika Ichinose Date: Sun Sep 7 10:29:12 2025 +0300 Simplify FreeVar. M rtl/inc/heap.inc --- commit d91a4ef56f98b1d4695cf7cd8312b9458ac425c6 Author: Rika Ichinose Date: Thu Sep 11 17:29:40 2025 +0300 Fix cross-thread ReallocMem in heaptrc. M rtl/inc/heaptrc.pp --- commit 2aa8fe76d96326e9adaa2e463831260e41d7bab2 Author: Rika Ichinose Date: Fri Sep 12 09:23:25 2025 +0300 Free empty arenas as a second-to-last chance before allocating a new OS chunk. M rtl/inc/heap.inc --- commit 9c2da4ad14ef9fb3868d26caaf42406f399fc887 Author: Rika Ichinose Date: Tue Sep 16 17:05:42 2025 +0300 Simplify VarSizeToBinIndex. M rtl/inc/heap.inc --- commit 354b335b0674006c5f951a20b8764c5b06151e95 Author: Rika Ichinose Date: Mon Sep 22 22:55:53 2025 +0300 Use newish atomics. M rtl/inc/heap.inc --- commit 78f7d0bd1e984457dc332ccc982561502c8531f4 Author: Rika Ichinose Date: Mon Sep 22 22:56:48 2025 +0300 Initialize the heap lock in DLL_PROCESS_ATTACH and finalize in DLL_PROCESS_DETACH. M rtl/inc/heap.inc M rtl/inc/heaph.inc M rtl/inc/oldheap.inc M rtl/win/systlsdir.inc M rtl/win/syswin.inc --- commit 06b17e637162b071d56996459d2724b7372a7a0b Author: Pierre Muller Date: Fri Sep 26 23:24:49 2025 +0200 Explicitly load C library on Linux as already done in dl unit, to avoid wrong sartup code M rtl/inc/heaptrc.pp --- commit 928312d331b06658316fb1d7a1adb55ded530e60 Author: Rika Ichinose Date: Sun Sep 28 23:39:03 2025 +0300 Simplify BinIndexToVarSize. M rtl/inc/heap.inc --- commit b8f789143a02159cae1ba9ae309e42408b317562 Author: Karoly Balogh Date: Thu Oct 9 15:28:53 2025 +0200 rtl/heap: fix builds of systems that define HAS_MEMORYMANAGER after 78f7d0bd M rtl/inc/heaph.inc --- commit 6a7d42bb22ff18fd0617108517ba9ece4b7a3e14 Author: Rika Ichinose Date: Fri Oct 10 05:53:12 2025 +0300 Fix leaks on DLL unloading. M rtl/inc/heap.inc M rtl/inc/heaph.inc M rtl/win/systhrd.inc M rtl/win/syswin.inc M rtl/win32/system.pp M rtl/win64/system.pp --- commit 50732a780ec8665f1b8fe5bbb84de2db0b649b44 Author: Karoly Balogh Date: Thu Dec 25 05:48:23 2025 +0100 + add more verbose and robust detection of error scenarios to the heap manager M rtl/inc/heap.inc --- commit 08c1e50ebc0c0b049db198fe71d7d2419ec4922b Author: Rika Ichinose Date: Thu Jan 8 03:33:27 2026 +0300 Simplify TryResizeVar. M rtl/inc/heap.inc --- commit 2b44cafdf397117578fc974e4a842a997c09fca2 Author: Rika Ichinose Date: Mon Feb 2 03:01:43 2026 +0300 New cool heaptrc. M packages/googleapi/generator/googleapiconv.pp M rtl/inc/heaptrc.pp --- commit daa27044ec474e9b6c547cae667653fb8e574cc7 Author: Karoly Balogh Date: Sat Feb 7 00:28:42 2026 +0100 rtl/heap: while dealing with orphans, do not call FlushToFree if toFree is nil. this fixes a crash while exiting on MorphOS/PowerPC with threading enabled M rtl/inc/heap.inc --- commit 28f6bb4ef1cccbe6b6cf719505ad44b23db64633 Author: Rika Ichinose Date: Sat Feb 14 17:00:38 2026 +0300 Attempt to fix heaptrc fos DOS. M rtl/inc/heaptrc.pp --- commit 0666ce8bda13741d33ef9a22b878ae0bab86d410 Author: Rika Ichinose Date: Mon Feb 16 14:06:32 2026 +0300 Reword the heaptrc message if the corruption is spot incrementally. M rtl/inc/heaptrc.pp --- commit 9a39e9ef8a001914b2c51dd587139227247089cb Author: Rika Ichinose Date: Sun Feb 22 07:30:53 2026 +0300 Add heaptrc.KeepReleasedPercents. M rtl/inc/heaptrc.pp --- commit 88df11c0194864fd6ac6540244e483ff2c5d83e3 Author: Rika Ichinose Date: Tue Feb 24 00:26:59 2026 +0300 Some heaptrc fixes: prevent TraceAllocMem from filling the memory twice, and fix the condition that decides whether to skip the backtrace collection in FreeMem. M rtl/inc/heaptrc.pp --- commit 7b4387b267ef6a8dae4f7f637e96c9ebdee096f1 Author: Rika Ichinose Date: Tue Feb 24 16:07:34 2026 +0300 Write empty traces as “Call trace for ...: N/A”. M rtl/inc/heaptrc.pp --- commit 23f09802686b0fa4d5b204419899576f14059b1e Author: Rika Ichinose Date: Thu Feb 26 04:11:53 2026 +0300 Display class names in leak reports. M rtl/inc/heaptrc.pp --- commit 0ee82363fc2b5add7564b8be81df2a4b4709fe93 Author: Michaël Van Canneyt Date: Fri Mar 13 16:16:09 2026 +0100 * Need to call DoneThread to allow memory manager to correctly release heap memory M rtl/wasicommon/systhrd.inc --- commit 887dc52ef4ed6fbd3f913c8a7dab3d54549e2dc0 Author: Rika Ichinose Date: Fri Mar 13 18:44:41 2026 +0300 Add heaptrc.WalkHeap. M rtl/inc/heaptrc.pp ================================================================ Revisions in bigsets in this set 139fc803b40ef61f2747925b9a4e2eca7aa1e89e,3ac69995208dc36bb24a7747d51b127d80d28a95