Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 39631 invoked from network); 3 Nov 2006 02:09:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Nov 2006 02:09:23 -0000 Received: (qmail 96342 invoked by uid 500); 3 Nov 2006 02:09:31 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 96282 invoked by uid 500); 3 Nov 2006 02:09:31 -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 96270 invoked by uid 99); 3 Nov 2006 02:09:30 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Nov 2006 18:09:30 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of ivan.volosyuk@gmail.com designates 64.233.182.188 as permitted sender) Received: from [64.233.182.188] (HELO nf-out-0910.google.com) (64.233.182.188) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Nov 2006 18:09:16 -0800 Received: by nf-out-0910.google.com with SMTP id m18so1220656nfc for ; Thu, 02 Nov 2006 18:08:55 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=pmq3ztg1/KTa5p3CyLOZ5BHwkIeL8dQtN+DHrVt+cad58PG1a4wR3LKKRtOu9TF7gGLPqw+N0rzwPn0JNSVdO+Rd7d69hGiiSujfiB3VZusb/otI71AMHigxLBA52eITCDFn40JS9mFfgEp/NR+upgSlLj4z9U1HCCCicpc/+gg= Received: by 10.48.230.18 with SMTP id c18mr429039nfh.1162519735152; Thu, 02 Nov 2006 18:08:55 -0800 (PST) Received: by 10.48.214.12 with HTTP; Thu, 2 Nov 2006 18:08:55 -0800 (PST) Message-ID: <12385bbd0611021808v6cf091bch351968ef1ff79635@mail.gmail.com> Date: Fri, 3 Nov 2006 05:08:55 +0300 From: "Ivan Volosyuk" To: harmony-dev@incubator.apache.org Subject: Re: [drlvm][sablevm] Desing of Class Unloading Support In-Reply-To: <9623c9a50611012346p79528621jd5e043fa88c7bfbe@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <5836de490610240251p120dfa56x736fbb5eb1898aca@mail.gmail.com> <51d555c70610311454s24d2089cx7eeb9af17d7ebfaf@mail.gmail.com> <9623c9a50611010304s33a1ff00u928847ed8a161fc@mail.gmail.com> <454985C0.1090501@anu.edu.au> <9623c9a50611012346p79528621jd5e043fa88c7bfbe@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org On 11/2/06, Xiao-Feng Li wrote: > On 11/2/06, Robin Garner wrote: > > Xiao-Feng Li wrote: > > > On 11/1/06, Mikhail Fursov wrote: > > >> On 01 Nov 2006 16:05:41 +0600, Egor Pasko wrote: > > >> > > > >> > On the 0x214 day of Apache Harmony Mikhail Fursov wrote: > > >> > > On 01 Nov 2006 15:56:28 +0600, Egor Pasko > > >> wrote: > > >> > > > > > >> > > > agreed. not patching .. just reporting 'golden' VTable refs to > > >> GC, am > > >> > > > I right? > > >> > > > > > >> > > Yes, and everytime we report it to GC and GC moves an object - it > > >> > patches > > >> > > the address we report. > > >> > > > >> > so, by saying "patching" you insist to put immediate operands into > > >> > instructions? That's probably worth it, but it extends the JIT<->GC > > >> > interface. How about making a simple operand (reg/mem) as the first > > >> step? > > >> > > >> > > >> Egor, I thinks this is slightly more complicated problem. If vtable > > >> object > > >> is moved we must update all devirtualization points in every method > > >> compiled > > >> before. It can require an extension of JIT<->VM<->GC interface. > > >> Another solution I see is to collect info about all devirtualization > > >> points > > >> in JIT (code addrs) and report these addresses as enumeration roots. > > >> This is > > >> JIT-only solution, and disadvantage is a significant (~hot methods count) > > >> increase of number of objects reported. > > >> > > >> On the other hand I see no reasons to unpin vtables in the nearest future > > >> (Let's GC guru correct me). If you use special (freelist-type ?) > > >> allocator > > >> in GC the memory fragmentation when unloading pinned vtable objects > > >> could be > > >> low. > > > > > > Yes, vtable should never be moved except for very weird reason. And > > > yes, to pin certain amount of objects is not a big performance issue > > > (in both temporal and spatial wise). > > > > > > -xiaofeng > > > > > >> -- > > >> Mikhail Fursov > > >> > > >> > > > > In MMTk, this kind of 'pinning' is an allocation-time policy decision of > > the type I was advocating in the GC helpers thread. Once a GC allows > > for the idea of supporting multiple collection policies (which > > generational GC requires in any case), then adding a non-moving space to > > a memory manager is easy. > > > > Most memory managers will have a non-moving large object space no matter > > what the primary collection policy is. The DRLVM collectors have this > > too, don't they ? > > Pinning an object after allocation is a harder problem, but not > > something required in this case. > > Yes, I agree with all what you said. And DRLVM GCv4/v5 doesn't move > large objects at the moment. GCv4.1 does. There is no problems to support pinned allocation here anyway. -- Ivan Intel Enterprise Solutions Software Division