Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 43745 invoked from network); 1 Sep 2006 06:18:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 1 Sep 2006 06:18:24 -0000 Received: (qmail 86000 invoked by uid 500); 1 Sep 2006 06:18:18 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 85514 invoked by uid 500); 1 Sep 2006 06:18:17 -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 85503 invoked by uid 99); 1 Sep 2006 06:18:17 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 31 Aug 2006 23:18:17 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [130.56.64.72] (HELO messaging2.anu.edu.au) (130.56.64.72) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 31 Aug 2006 23:18:16 -0700 Received: from [150.203.163.99] by messaging2.anu.edu.au (Sun Java System Messaging Server 6.2-6.01 (built Apr 3 2006)) with ESMTP id <0J4W00J8QHHTWMD0@messaging2.anu.edu.au> for harmony-dev@incubator.apache.org; Fri, 01 Sep 2006 16:17:53 +1000 (EST) Date: Fri, 01 Sep 2006 16:18:15 +1000 From: Robin Garner Subject: Re: [DRLVM][VM] -- which header bits are available for GC mark and GC forwarding use? In-reply-to: <4dd1f3f00608280728x1e3253d7odf2b1b7a26ef5362@mail.gmail.com> To: harmony-dev@incubator.apache.org Message-id: <44F7D0A7.5030609@anu.edu.au> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT References: <4dd1f3f00608232050t20b790calf75810d81e6cabcc@mail.gmail.com> <44EDD7FC.6040200@Intel.com> <4dd1f3f00608241519q4d02b314l9b2106c648985cd4@mail.gmail.com> <4307.220.236.173.70.1156764364.squirrel@sqmail.anu.edu.au> <4dd1f3f00608280728x1e3253d7odf2b1b7a26ef5362@mail.gmail.com> User-Agent: Thunderbird 1.5.0.5 (X11/20060728) X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Weldon Washburn wrote: > Robin, > > Good points. Given that Object.hashCode() implementation sortof, > kindof depends on a copying mature space, does it make sense for the > GC to "own" the Object.hashCode() implementation? That way, we > eliminate the vm-wide debate about giving object hash one or two or > even 12 header bits. Absolutely. +1 > It all becomes a local problem of GC > implementation. No need for negotiating with the rest of the VM :) > From a top-level how about giving the GC one byte of object header to > do hash plus whatever it wants? I realize it would be nice to have an > "expando" object model in Harmony that would allow arbitrary number of > header bits for a) tib ptr, b) default hash code, c) lock info and d) > GC info. I worry that this would be too disruptive to the code base > right now. Can we make do with the above proposal? We can definitely make do with it. > > Just to be clear, the two-bit Object.hashCode() scheme I refer to is > the one in section 3.3 of, "Space- and Time-Efficient Implemention of > the Java Object Model" by David Bacon, et al. I think this is also > the scheme Ivan Volosyuk is refering to and has an implementation of. And as implemented in JikesRVM. Yep, that's the one I'm talking about too. So where you say >> > I think the hashCode can be >> > reduced to one bit plus the object's current address at first >> > HashCode() invocation. I'd put this hash bit in the GC byte. And >> > make the GC byte the lowest byte in the header word. The remaining >> > 3bytes could be used for fat/thin locks. I'm guessing you're assuming a copying nursery and a non-moving mature space ? In a more general setting I'm not sure how you could get away with one bit. cheers --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org For additional commands, e-mail: harmony-dev-help@incubator.apache.org