help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] Big objects and GC


From: Gwenael Casaccio
Subject: Re: [Help-smalltalk] Big objects and GC
Date: Wed, 11 May 2011 10:59:41 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10

On 05/10/2011 11:59 AM, Gwenael Casaccio wrote:
Hi,

Currently in GST big objects are allocated in the old space
and won't move during the GC. The non-moving property is nice
but putting big objects in the old space is not good since we
need to do a full GC to free them.

I've made a small patch not yet finished (there is one last bug when
I do a make check) which creates a new kind of object:

F_LARGE that can be in young space and after tenured to the old space.
The difference is that the object won't move during the copy gc and the
tenure step.

git://github.com/MrGwen/GNU-Smalltalk.git in the branch LargeOOP.

Cheers,
Gwen

Hi,

Here is the patch, all the tests are green ;-)
Basically I've added a new flag F_LARGE, and a new method for allocating
large object: gst_alloc_large_obj. The object is fixed and won't move during the GC, so that implies that when tenuring an object I check if the object is F_LARGE. Also a special care is taken when the object is sweep, I use the correct heap. The image loading is updated to take care
of the F_LARGE field.

Cheers,
Gwen

Attachment: large-oop.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]