John M McIntosh wrote:
On 7-Oct-05, at 12:49 PM, Avi Bryant wrote:
Now, it should still work to do what Tom was suggesting, right? Do the fullGC in the parent process, then immediately fork and snapshot (without doing a second GC in the child). Does the order of, eg, #storeContextRegisters: and #fullGC inside #snapshot: matter?
If you do the fullGC, then the fork and snapshot which also does a fullGC, then cleans up context records and information about primitive linkups you should find that the amount of memory altered is much less.
It's not. Garbage collection touches (modifies, writes) the header bits of the objects touched which causes the pages to be marked dirty and allocated. You'd have to avoid the entire GC to make this work.
Cheers, - Andreas