Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 16308 invoked from network); 20 Feb 2009 01:22:25 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 20 Feb 2009 01:22:25 -0000 Received: (qmail 94891 invoked by uid 500); 20 Feb 2009 01:22:23 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 94864 invoked by uid 500); 20 Feb 2009 01:22:23 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 94852 invoked by uid 99); 20 Feb 2009 01:22:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Feb 2009 17:22:23 -0800 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of trojanyuan@gmail.com designates 209.85.198.238 as permitted sender) Received: from [209.85.198.238] (HELO rv-out-0506.google.com) (209.85.198.238) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Feb 2009 01:22:15 +0000 Received: by rv-out-0506.google.com with SMTP id g9so548118rvb.4 for ; Thu, 19 Feb 2009 17:21:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=4NyyoGLbf+ETJyl4MCZNTLqIz4eRtVV5yP7KncFCFSI=; b=WwxvABn/VumzM7WlWCA+Iw8h+ynLFyNWUutouE5Ky7k4Od50Z6wa4VJonesxNEkmKi //0HqfbZtLHJgHPmyw4eWWPXx2NBK8DJVgpADeW8myLs1iaVDobD3g4hIjNLJbtJkIfC O53TttUYvQFjQm82B7NOAi2oznqaq1j7n3fPc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=BypNj3P1IcUUjZLsKzuQidIl72u/aKxyEX8ikzSeWLox8zKkR4s6xv70Z94gdxxgu+ 0BRc1zRnimIcwWX7oDjt9RTgZ+pT4J8zfuyrgTp3Xd645s6I6P3hicUWLUMbFQ0rVA+K Abe+bH2uTedoieHAH+LbWOLOFX90wvGPQluhc= MIME-Version: 1.0 Received: by 10.141.196.8 with SMTP id y8mr101444rvp.101.1235092913515; Thu, 19 Feb 2009 17:21:53 -0800 (PST) In-Reply-To: References: Date: Fri, 20 Feb 2009 09:21:53 +0800 Message-ID: Subject: Re: [drlvm][gc] What does an Partial_Reveal_Object object represents in GarabageCollector? From: Yuan Zhang To: dev@harmony.apache.org Content-Type: multipart/alternative; boundary=000e0cd14cb45fedf704634f7a21 X-Virus-Checked: Checked by ClamAV on apache.org --000e0cd14cb45fedf704634f7a21 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable I have noticed that the least 10 significant bit of obj_info field in struc= t ManagedObject is used to store hashcode of a ManagedObject, but it seems that gc use the least 8 significant bit to store some gc-concerned information such as mark-bit, I wonder if this may cause problems? Because = I have little knowledge of the usage of hashcode in the ManagedObject. 2009/2/20 Pavel Pervov > This is the data interface between the VM and a GC. GC must know some > details of object layout in the heap to be able to implement > collection algorithms efficiently. > > Pavel. > > On Thu, Feb 19, 2009 at 3:57 PM, Yuan Zhang wrote: > > Alexei, > > Thanks for your answer. Can I understand this problem in this way: > > -----at the current edition of harmony, an Partial_Reveal_Object > > pointer is just casted from a ManagedObject pointer, and the purpose of > the > > duplicate declaration of the struct is to minimize dependency between g= c > and > > vmcore because in the future the two structs may have different > > declarations. > > > > 2009/2/19 Alexei Fedotov > > > >> Yuan, > >> The intention of this construct is to minimize dependency between gc > >> and vmcore limiting interfaces to C-type ones. If you changed layout > >> of fields, you should update GC struct. If you only changed vt > >> functions, then probably the problem is in other place. > >> > >> Thanks. > >> > >> On Thu, Feb 19, 2009 at 3:09 PM, Yuan Zhang > wrote: > >> > I have found that the declaration of struct ManagedObject and the > >> > declaration of struct Partial_Reveal_Object are alomost the same. Th= e > >> only > >> > difference is that struct ManagedObject is used in vmcore, and struc= t > >> > Partial_Reveal_Object is used in gc, so I have a question: "Does a > >> > Partial_Reveal_Object pointer in gc always points to an ManagedObjec= t > >> object > >> > in vmcore?". Because I have modified the declaration of struct > >> ManagedObject > >> > for some purpose, so if the answer to my question is "yes", I also > have > >> to > >> > modify other codes to make gc run right? > >> > > >> > I appreciated any help from you! > >> > > >> > >> > >> > >> -- > >> =F3 =D5=D7=C1=D6=C5=CE=C9=C5=CD, > >> =E1=CC=C5=CB=D3=C5=CA =E6=C5=C4=CF=D4=CF=D7, > >> http://people.apache.org/~aaf/ < > http://people.apache.org/%7Eaaf/> > >> > > > --000e0cd14cb45fedf704634f7a21--