harrow@exodus.DEC (Jeff Harrow, NCSE LKG1-3/F16 DTN=226-7445) (03/29/86)
I'm running Keeper on a 512K Mac with HD20 (and **LOVE** it!). However, I recently attempted to use ResEdit to modify the LAYO resource in the Finder and, when I told ResEdit to OPEN Finder, it displayed an alert box with Error=108 (out of heap space). ResEdit DID open Finder, but several resources (including the LAYO) were NOT visible in the list. I rebooted the Mac WITHOUT Keeper, and ResEdit worked fine. Well, seems that all I had to do was increase the heap size and all would be OK. Right? I used FEdit V3.5 and modified the boot block to increase the heap size (and validated that it had been changed), yet, even when making the heap VERY large and rebooting (with Keeper), ResEdit still came up with the error. Does anyone know the "error" (sic) of my ways? Jeff
darin@ut-dillo.UUCP (Darin Adler) (04/02/86)
In article <1980@decwrl.DEC.COM>, harrow@exodus.DEC (Jeff Harrow) writes: > I'm running Keeper ... ResEdit ... (out of heap space) ... increase the > heap size ... modified the boot block to increase the heap size ... ^^^^ ^^^^^ > Does anyone know the "error" (sic) of my ways? First of all, there are (usually) two heaps in the Macintosh. One, the system heap, is used for system data structures, ROM patches, Chicago font, and a number of other things. The other, the application heap, is used for everything else (in other words, everything created by applications). When ResEdit gives you error -108 (out of heap space), it means that it is out of application heap space. The first boot block contains a constant which determines the size of the system heap. The larger the system heap is, the *smaller* the application heap is, thus enlarging the heap size in the boot blocks makes it *more* likely to get an "out of heap space" error. Incidentally, while Keeper is running, there are actually three heaps in memory. Each time you launch an application from the Finder (with Keeper installed), Keeper calls _CompactMem to move the contents of the Finder's application heap to the bottom of the heap. There is then only one block of free memory, at the very top of the Finder's heap. Keeper then goes on to create a new heap in this free block and puts the new application there. When the application returns to the Finder, Keeper restores the Finder's original heap and resumes execution, right after the _Launch instruction in the Finder. Keeper was written by Steve Capps, one of the co-authors of the Finder. By the way, Keeper does not work with SkipFinder or with WayStation. In addition, you will never see a MiniFinder (unless you open it explicitly) once you run Keeper. But, with an instant Finder, all three of these are obselete! -- Darin Adler {gatech,harvard,seismo}!ut-sally!ut-dillo!darin "...'cause they don't go for what's in the book and that makes 'em bad..." Frank Zappa