> OK. My latest proposal (a few messages ago) was assuming that the > nursery was empty when the "end of epoch collection" is launched. > > If it is not, you can do 2 things: > > a) do a minor collection to empty it, or > > b) i - use a finalization-like list of references to class loader > objects > ii - launch gc, which might mark a previously unmarked vtable > iii- do a finalization-like rescuing for resuscitated class loaders > > "b)" should really have a minimal performance impact. As for its > "apparent complexity", I would say that this is a non-issue; similar > code must already exist in drlvm for implementing finalization.
Just for clarification: "b)" implies a combined "nursery + mature space" collection. Actually, for the mature space part, you could get away with a smaller collection if you premature all class loaders and classes to a specific mature space area; the you only need to collect that space (in addition to the nursery). Etienne -- Etienne M. Gagnon, Ph.D. http://www.info2.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/
signature.asc
Description: OpenPGP digital signature