GC "Heisenberg" problem in latest CVS bootstrap?
Todd Fleming
todd at flemingcnc.com
Sat Dec 4 10:23:15 PST 2004
Tim Olson wrote:
> I think that is exactly the problem. I instrumented the GC code
> (directly in vm.c) to keep track of the number of bytes allocated
> between calls to garbageCollect. It appears that during the
> processing of numeric.slate, the number of bytes allocated between GCs
> drops down to less than 1KB, where it stays for some time without
> actually growing the heap. Thus, we are spending > 90% of our time
> trying to scavenge a small amount of free memory, rather than just
> growing the heap.
Could this be the cause?
x at RootTraits forwardTo: y
[
x = y
ifFalse:
[CurrentMemory forward: x pointer to: y pointer].
interpreter stackPush: y.
CurrentMemory garbageCollect
] `pidginPrimitive.
Todd
More information about the Slate
mailing list