Incremental GC (was RE: Projects)

Boehm, Hans hans_boehm@hp.com
Sun May 14 15:52:00 GMT 2000


GC_incremental really controls both incremental and generational collection.
A full collection just consists of
1) Clearing the mark bits (which normally doesn't happen for a minor
collection; everything surviving a single collection is implicitly
promoted).
2) A full asynchronous marking of the heap. (In fact all asynchronous
marking currently stops the workd for about 50 msecs at the beiginning. If
I can finish the entire collection in 50 msecs, it's done, and it avoided
some extra overhead.) 
3) A minor collection, the last part of which stops the world for a short
period.
Incremental collection currently doesn't really work on PowerPC/Linux, since
there is no VM write barrier support. The issue is usually getting a hold
of the fault address from the signal handler. My understanding is that
since 2.3.47, the fault address should be universally accessible through the
siginfo structure as the si_addr field. Thus the IA64 code in os_dep.c
should work on PowerPC. If someone would care to verify that ...
Hans 
> -----Original Message-----
> From: Corey Minyard [ mailto:minyard@acm.org ]
> Sent: Saturday, May 13, 2000 2:34 PM
> To: Boehm, Hans
> Cc: Jonathan P. Olson; Tom Tromey; green@cygnus.com;
> java-discuss@sourceware.cygnus.com
> Subject: Re: Incremental GC (was RE: Projects)
>>> Corey Minyard <minyard@acm.org> writes:
>> > I did try for a while to get your collector working, I looked at the
> > insides for a while so I'm a little familiar with how it works. I
> > could not make the incremental mode collect anything at all on Linux
> > PowerPC. It also seemed to require a full mark-and-sweep 
> periodically
> > as evidenced by the GC_full_freq variable. We need a purely
> > incremental collector; we cannot take the delay of a full cycle.
> > 
>> Oops, I realized that GC_full_freq is for generational collection. I
> had forgotten that detail, it's been a while. Generational collection
> did not work at least on the PowerPC. I believe incremental did work,
> it was generational that didn't work.
>> Corey
>


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /