Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 95037 invoked from network); 12 Apr 2008 00:41:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Apr 2008 00:41:43 -0000 Received: (qmail 48304 invoked by uid 500); 12 Apr 2008 00:41:42 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 48269 invoked by uid 500); 12 Apr 2008 00:41:42 -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 48259 invoked by uid 99); 12 Apr 2008 00:41:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Apr 2008 17:41:42 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of xiaofeng.li@gmail.com designates 74.125.46.156 as permitted sender) Received: from [74.125.46.156] (HELO yw-out-1718.google.com) (74.125.46.156) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 12 Apr 2008 00:41:00 +0000 Received: by yw-out-1718.google.com with SMTP id 4so284298ywq.0 for ; Fri, 11 Apr 2008 17:41:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=divIMzUCcL/YNIJMpugdFF9jk/srbEWQroxSW0W0E18=; b=UIxeqlP3SBGXNqGWNhosPQNLvpOrK1LG9EKuBbqq5ZYY7sG85TNM3FHp6QH1t4s/7wZLmY9N7KGOIle1Ivzljw6mDYv1TFJ37rwedERHRx1L51JMNpSNMJJ3bs9XkoHyi3Li/0z6H8RITApd3eEoJFAxZi3q5dku08htYLGoqC8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=IwOA5xeGzqwhuSno077leD5PkudBLpV36RiipPWyhn+SGagTzs8jwEkX93vKvbxNM83/wbZJ16wjVfSQtaKPe4y4hk9ljdK+Z1x951O3p9kKb9++iDMiFkkw25b5oqpHJPN1cHU0DaFEXngsY15zoU7n/3ANs79ftNVLGJx3O1k= Received: by 10.150.133.18 with SMTP id g18mr4015143ybd.74.1207960861437; Fri, 11 Apr 2008 17:41:01 -0700 (PDT) Received: by 10.150.147.15 with HTTP; Fri, 11 Apr 2008 17:41:01 -0700 (PDT) Message-ID: <9623c9a50804111741q5d32fue2c7b58fed58c7f6@mail.gmail.com> Date: Sat, 12 Apr 2008 08:41:01 +0800 From: "Xiao-Feng Li" To: dev@harmony.apache.org Subject: Re: [GSoC] About harmony-gc-1 "Compressor GC" In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <9623c9a50804091851p7ee20444ka64b9e8b0f5aec60@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org Humberto, Compacting GC is only used for MOS collection (and probably LOS if applicable). NOS always uses copying GC. But in my opinion, you don't need worry about that at the beginning, you can write a compacting GC that manages the entire heap (probably except for LOS). To create a new space, please follow the steps in mark-sweep for wspace. And when USE_UNIQUE_MARK_SWEEP_GC, wspace manages the entire heap (including large objects). So it can be a reference for standalone GC without NOS. On the other hand, if you feel it's hard to master the Harmony GC code base, you can create another directory, say gc_compressor/ on par with gc_gen/, to write a standalone compressor without considering how it interacts with the existing GC code base. And you can reuse any part of gc_gen/ if that's useful. Thanks, xiaofeng On Fri, Apr 11, 2008 at 9:33 PM, Humberto Naves wrote: > The Compressor strategy should be used where? NOS? MOS? LOS? > And what are the first step for creating a new "cspace" ? > Many thanks, > Humberto > > > > On Wed, Apr 9, 2008 at 10:51 PM, Xiao-Feng Li wrote: > > > On Thu, Apr 10, 2008 at 4:57 AM, Humberto Naves wrote: > > > Hi, > > > > > > I have a few questions about the Compressor GC that should be > > implemented in > > > Harmony DRLVM: > > > -> What strategy will we use for constructing the "markbit" vector? > > > (Pool-sharing parallelization?) > > > > It can be done with stop-the-world marking. > > > > > -> Will we use the "stop-the-world" strategy for the first release? > > > > Yes, for the first step, only the STW part is needed. The others parts > > are desirable if possible. > > > > > If not > > > (in the case of concurrent, incremental and parallel strategy), there > > are > > > some virtual memory functions that the algorithm needs: > > > 1) Map > > > 2) UnMap > > > 3) ProtN > > > 4) UnProt > > > 5) TRAP > > > 6) DoubleMap > > > So, we need to abstract that functions (to be independent of the OS in > > use), > > > and I think this abstraction should be usefull for "Mapping Collector" > > > (harmony-gc-2) . I don't know very much of the DRLVM, but I think > > > "working_vm\vm\port\src\vmem" should have those functions. > > > > Yes, to has an OS independent abstraction is good. > > > > > Cheers, > > > Humberto > > > > > > > > > > > -- > > http://xiao-feng.blogspot.com > > > -- http://xiao-feng.blogspot.com