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