[squeak-dev] Re: Getting back to push/pop remappable oop

John M McIntosh johnmci at smalltalkconsulting.com
Wed Nov 12 06:58:45 UTC 2008


On Nov 11, 2008, at 8:25 PM, Andreas Raab wrote:

> . The only requirement for this is a bit of extra headroom which we  
> have already (it is reserved for forwarding blocks in full GCs) and  
> it seems reasonable to take a small bite out of that reserved space  
> to trigger a GC after the primitive completes.
>
> Cheers,
>  - Andreas


In case anyone wonders I used this headroom as a *fix* for the low  
memory issue a couple of years back,  somewhere I've some code that
would creep young space into the forward block area as we ran out of  
memory.   However as Tim and I discovered
it's really hard to fix the low memory issue, this *fix* which didn't  
go into product would only delay the out of memory failure
by yet another few seconds, so it was quite worthless.

However as a solution to Oops memory allocation for primitives, versus  
a GC it's quite worthwhile.  I'd guess to
prevent changing every plugin to use some different allocator we could  
have a global switch that we turn on/off
when we enter/exit a plugin call, and if we actually do run out of  
memory based on young space/forwarding block area
then exit(42) if the flag is set?

Someone might want to check to see if  plugin memory allocation  
patterns are for small pieces. or does someone
allocate 100MB and that is enabled by doing the GC cycle?


--
= 
= 
= 
========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
= 
= 
= 
========================================================================






More information about the Squeak-dev mailing list