Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 1480 invoked from network); 9 Nov 2006 15:54:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 9 Nov 2006 15:54:20 -0000 Received: (qmail 81757 invoked by uid 500); 9 Nov 2006 15:54:28 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 81712 invoked by uid 500); 9 Nov 2006 15:54:28 -0000 Mailing-List: contact harmony-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-dev@incubator.apache.org Received: (qmail 81703 invoked by uid 99); 9 Nov 2006 15:54:28 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Nov 2006 07:54:28 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [66.11.181.4] (HELO griffin.griffaction.ca) (66.11.181.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Nov 2006 07:54:10 -0800 Received: from [127.0.0.1] (helo=[127.0.0.1]) by griffin.griffaction.ca with esmtp (Exim 4.50 #1 (Debian)) id 1GiCDo-0000aT-8m for ; Thu, 09 Nov 2006 10:53:44 -0500 Message-ID: <45534DF6.8070306@sablevm.org> Date: Thu, 09 Nov 2006 10:49:10 -0500 From: Etienne Gagnon User-Agent: Debian Thunderbird 1.0.2 (X11/20060927) X-Accept-Language: en-us, en MIME-Version: 1.0 To: harmony-dev@incubator.apache.org Subject: Re: [drlvm] Class unloading support - tested one approach References: <5836de490610240251p120dfa56x736fbb5eb1898aca@mail.gmail.com> <4551B15B.2070101@anu.edu.au> <5836de490611080250l6dfbd38cw8778f7a055373d82@mail.gmail.com> <4551B83D.9020706@anu.edu.au> <4551CBDB.90004@anu.edu.au> <45531ED7.7030904@sablevm.org> <455324E1.2040301@anu.edu.au> In-Reply-To: X-Enigmail-Version: 0.91.0.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig5CE920B69F828B3BE6902A0B" X-Virus-Checked: Checked by ClamAV on apache.org --------------enig5CE920B69F828B3BE6902A0B Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Alexey Varlamov wrote: >> > My proposal already argued that vtable bit/byte/word marking is >> > unnecessary for "nursery allocations". You only need to mark the >> vtable >> > of objects that survive collection and pretenured objects. > > > I may have missed it, but I only recall you argued that we just need > to collect mature space for the *final unloading* as CL and classes > are unlikely to die young, which I agree. But chances that a live > object of a candidate class appeared in the nursery are higher. > Otherwise I just do not grok how this algorithm can be proven for > correctness. > 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. Etienne -- Etienne M. Gagnon, Ph.D. http://www.info2.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ --------------enig5CE920B69F828B3BE6902A0B Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFFU032jyrJi4rH84gRAjZfAJ9fKUz/Xjok1b/FfQRqcPYCJ3z/jQCeNOHK YeEYGCgHZI40Pm8UPoNWygQ= =+uwm -----END PGP SIGNATURE----- --------------enig5CE920B69F828B3BE6902A0B--