Garbage Collector Issues on Win98/gcj 4.02

Tom Tromey tromey@redhat.com
Wed May 24 16:30:00 GMT 2006


>>>>> "Mohan" == Mohan Embar <gnustuff@thisiscool.com> writes:

Mohan> What are the consequences of these being born with state==JV_STATE_DONE?
Mohan> Does this mean they shouldn't be collected?

Nope.  The state is used primarily while linking the class at
runtime.  Linking is a multi-step process and different steps are
done in different situations.  The states are explained briefly in
Class.h; link.cc:wait_for_state() is how a transition to a particular
state is requested.

Array classes are created in state JV_STATE_DONE only because no more
linking is required after they are created.

Mohan> I'm not quite clear on what you're proposing here. Are you saying that
Mohan> it would be better to:

Mohan> - conditionalize this with "if (engine)"?

This one.

Mohan> - add a new execution engine for arrays?

This is my second choice.  The execution engine for a class is used in
a number of places, I think I'd prefer that arrays trigger SEGVs in
those places, since at the moment that would mean we've hit a serious
bug.

Tom



More information about the Java mailing list