Short: Memory defragmentizer/AllocP superset Author: thor@math.tu-berlin.de (Thomas Richter) Uploader: thor math tu-berlin de (Thomas Richter) Type: util/sys Version: 1.53 Requires: OS 3.0 Architecture: m68k-amigaos ______________________________________________________________________________ If you want to run PoolMem in conjunction with the ppc.library, you must a) launch the ppc.library in front of PoolMem, and b) specify the "NOMERGE" option. ______________________________________________________________________________ ****************************************************************************** Some system handlers have been shown to be too low on stack, this might cause problems! The new PatchRAM in this archive will fix this for the RAM disk, and YOU SHOULD fix this for the FFS and the boot partitions. The minimum recommended stack size is 1024 bytes, DO NOT GO BELOW. IT MIGHT WORK, but this is asking for trouble. ****************************************************************************** ______________________________________________________________________________ Version History This is not the complete version history, check the PoolMem.guide for details. ______________________________________________________________________________ 1.53: The 1.52 release might have allocated chip memory in case a small non-public memory chunk was requested even though fast memory would have been available. The 1.53 edition will try FAST first. However, note that this has the side effect that the small memory pool can never be "virtual". This seems to be Ok for me since PoolMem should not play with virtual memory anyhow. ______________________________________________________________________________ 1.52: Added the "NOCHIP" option, thanks to Dirk Neubauer. Found that PoolMem could cause an unnecessary but harmless memory flush if chip memory is allocated from the small pool. Reworked the main loop of the supervisor task a bit to speed up the PoolMem removal procedure. ______________________________________________________________________________ 1.51: Some internal cosmetical changes, updated the guide a bit and included a new release of ShowMem. ______________________________________________________________________________ 1.50.1: Copied the guide on top of the binary, which was therefore not included. No other changes. ______________________________________________________________________________ 1.50: The patch check was a bit over-critical in the sense that it checked explicit- ly whether the library entries where in ROM which is false on machines with a (MMU-less) RAM remapped ROM. I'm now checking, alternatively, whether the entries go to the exec segment list which should avoid the problem. ______________________________________________________________________________ 1.49: Added a check for patches installed in front of PoolMem. It will now fail in case it finds any patches in the memory allocation routines. This rule has been valid before, but it seems nobody cared about this point. ______________________________________________________________________________ 1.48: (internal release only) Added even more consistency checks on AllocMem and FreeMem. In case you see the new gurus 0x81000015 or 0x81000016, you'd better contact me, or check your system for broken programs. Except that, nothing changed. ______________________________________________________________________________ 1.47: The PoolMem memory clear routine is now a bit more effective (slightly). Allocations with MEMF_REVERSE set will be no longer taken from the memory scratch list. Added a new option KEEPSORTED that implements a slightly different scratch management which *might* help to improve the garbage collection mechanism under certain circumstances. Note that there's now a bug-report form in case you encounter problems. ______________________________________________________________________________ 1.46: Made sure that the PoolMem allocated memory headers are always in public memory. NOTE THAT THERE IS NO 1.45 RELEASE. SOMEONE WITH A STRANGE SENSE OF HUMOUR UPLOADED A TROJAN WITH A FAKED 1.45 RELEASE. DELETE IT IMMEDIATELY AS SOON AS YOU SEE IT AND REPLACE IT BY THIS 1.46. Updated ShowMem as well. 1.44: Fixed a minor problem in the allocation function that might have resulted in non-optimal memory layout on some boards and could have caused slow-downs. 1.43.1: Forgot to include the latest release of ShowMem. Oops! Thanks Raphael! Note that PoolMem *is not* compatible to MuGuardianAngel! 1.43: PoolMem does no longer try to pool non-MEMF_PUBLIC memory. This might be of importance if virtual memory is introduced. 1.42: Added the FREEMEMRESULT option to set a result code for FreeMem(). This can be used to work around bugs of various programs, check the guide for details. 1.41.3: Added the RexxSerDevFix archive to the distribution. This patches a bug in the rexxserdev.library. Check the guide for details. 1.41.2: Fixed the description of the pgs_PatchMem program, added Carl's EMail. 1.41.1: Added the pgs_patchmem experimental program. Might help to avoid Photogenics crashes, but don't use it permanently. Read the guide first before trying it. Thanks goes to Carl Drougge for writing this program, and for allowing me to redistribute it. ______________________________________________________________________________ Have fun, Thomas July 2000