Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 18015 invoked from network); 6 Oct 2006 13:17:55 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 Oct 2006 13:17:55 -0000 Received: (qmail 66538 invoked by uid 500); 6 Oct 2006 13:17:52 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 66508 invoked by uid 500); 6 Oct 2006 13:17:52 -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 66497 invoked by uid 99); 6 Oct 2006 13:17:52 -0000 Received: from idunn.apache.osuosl.org (HELO idunn.apache.osuosl.org) (140.211.166.84) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Oct 2006 06:17:52 -0700 Authentication-Results: idunn.apache.osuosl.org header.from=xiaofeng.li@gmail.com; domainkeys=good X-ASF-Spam-Status: No, hits=0.5 required=5.0 tests=DNS_FROM_RFC_ABUSE DomainKey-Status: good X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 Received: from [66.249.92.173] ([66.249.92.173:16412] helo=ug-out-1314.google.com) by idunn.apache.osuosl.org (ecelerity 2.1.1.8 r(12930)) with ESMTP id 92/10-24193-B7756254 for ; Fri, 06 Oct 2006 06:17:49 -0700 Received: by ug-out-1314.google.com with SMTP id y2so413148uge for ; Fri, 06 Oct 2006 06:17:44 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=OzD4Jg5BrqClCjsiCpeg9VnC5u+vzlb7LitexUJcHH/axy4nU59P0tomK+NZRBL8Z7A2icpkdKLjvIfq+aDOiwTiN7YwXTh0ZIJ9hX8QMm3eyP6tlrzmuNm6mBw85ePH/9VkT5Cn7G5Dg/Lh5YI4KSfwPO+WrBHYgPECg+NeaGQ= Received: by 10.78.165.16 with SMTP id n16mr1670065hue; Fri, 06 Oct 2006 06:17:44 -0700 (PDT) Received: by 10.78.154.18 with HTTP; Fri, 6 Oct 2006 06:17:43 -0700 (PDT) Message-ID: <9623c9a50610060617v5f6002e3w53a55003c4d654ee@mail.gmail.com> Date: Fri, 6 Oct 2006 21:17:43 +0800 From: "Xiao-Feng Li" To: harmony-dev@incubator.apache.org Subject: [DRLVM][GC] first generational version of GCv5 is submitted MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_29585_25059127.1160140663993" X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N ------=_Part_29585_25059127.1160140663993 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline The submitted revision is downloadable in JIRA-1428 at: http://issues.apache.org/jira/secure/attachment/12342430/gcv5-r0.10.zip Attached in this email is the gc.xml file I am using that replaces existing one for building gc. Below is the submission description: Attached file gcv5-r0.10.zip is first version of the generational mark-compaction GC for GCv5, which combines previous two submitted collectors as planned. That is, a trace-forward collector for minor collection and a mark-compaction collector for major collection. An additon of a copying algorithm is also developed that copies nursery live objects to mature space during a major collection. This revision has subtantial improvement in threading part. Although it's still single threaded collector, the framework for multithreading is ready. Basically, it has mutators and collectors to model the application threads and collection threads. A major design concept in this revision that was not made very clear in previous submissions is "space". "GC" is a concept of a full (or standalone) garbage collector design. One GC can have multiple spaces, each of which can employ different "collection policy". With this design idea in mind, the previous trace-forward GC is adapted to be the collection policy for the nursery space, and the mark-compaction GC is adapted to be the collection policy of the mature space. As an embodiment of the design idea, GCv5 eliminates the global gc variable in existing Harmony GC, and different space managements only need to know a general gc data structure, instead of the generational gc structure. This revision has been tested on Windows with SPECJVM98. As the first actual generational GC, any comments (or questions) are welcome! -xiaofeng > [DRLVM] first batch of files for GCv5, a trace-forward copying collector > ------------------------------------------------------------------------ > > Key: HARMONY-1428 > URL: http://issues.apache.org/jira/browse/HARMONY-1428 > Project: Harmony > Issue Type: Improvement > Components: DRLVM > Environment: These files were only tested on Windows with VS.NET 2003. > Reporter: Xiao-Feng Li > Assigned To: weldon washburn > Attachments: gc_v5.001.zip, GCv5-mc001.zip, gcv5-r0.10.zip > > > This archive has a couple of files implementing an early version of a trace-forward copying collector for GCv5. It's only a starter with very basic functionalities. It is a generational GC reqiures write barrier implemented in JIT. It was tested with JET, and ran SPECJBB2000 and SPECJVM98. > The algorithm is depth-first tracing of From-space, and forwarding live objects to To-space (It can forward part of the From-space). The To-space has no real management except for the accomodation of forwarded objects and large objects. So the To-space is going to be replaced by a mark-compaction GC, and the large objects will be managed by a LOS GC. > In order to minimize the changes to other components of DRLVM, the codes here comply with the original contract between GCv4 and other components. I also borrowed some routine code from GCv4 to avoid repetitive labor work. > GCv5 is under active development, so please expect quick and big changes to this submitted code base. I will submit new codes from time to time when they are worth a submission. Any comments or codes are more than welcome. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------=_Part_29585_25059127.1160140663993 Content-Type: text/xml; name=gc.xml; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_esylqlu5 Content-Disposition: attachment; filename="gc.xml" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pg0KPCEtLQ0KICAgIENv cHlyaWdodCAyMDA1LTIwMDYgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG9yIGl0cyBs aWNlbnNvcnMsIGFzIGFwcGxpY2FibGUuDQogIA0KICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFj aGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICAgIHlvdSBtYXkgbm90 IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAg ICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCiAgDQogICAgICAgaHR0 cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQogIA0KICAgIFVubGVzcyBy ZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdh cmUNCiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBh biAiQVMgSVMiIEJBU0lTLA0KICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9G IEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KICAgIFNlZSB0aGUgTGljZW5z ZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAg ICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCi0tPg0KPCEtLQ0KQXV0aG9yOiBNYXJp bmEgVi4gR29sZGJ1cnQsIERtaXRyeSBCLiBZZXJzaG92DQpWZXJzaW9uOiAkUmV2aXNpb246IDEu MS4xLjEgJA0KLS0+DQo8IS0tDQogICAgVGhpcyBpcyBidWlsZCBkZXNjcmlwdG9yIGZvciB0aGUg Y29tcG9uZW50ICJ2bS5nYyIuDQoNCiAgICBQbGVhc2UgcmVmZXIgdG8gbWFrZS9jb21wb25lbnRz L1JFQURNRS50eHQgZm9yIGRldGFpbHMgYWJvdXQgdGhlIGNvbXBvbmVudA0KICAgIGJ1aWxkIGRl c2NyaXB0b3Igc3RydWN0dXJlLg0KICAtLT4NCg0KPHByb2plY3QgbmFtZT0idm0uZ2MiPg0KICAg IDx0YXJnZXQgbmFtZT0iaW5pdCIgZGVwZW5kcz0iY29tbW9uX3ZtIj4NCiAgICAgICAgPHByb3Bl cnR5IG5hbWU9ImJ1aWxkLmRlcGVuZHMiIHZhbHVlPSJleHRyYS5hcHIsdm0udm1jb3JlIiAvPg0K ICAgICAgICA8cHJvcGVydHkgbmFtZT0ib3V0dHlwZSIgdmFsdWU9InNoYXJlZCIgLz4NCiAgICAg ICAgPHByb3BlcnR5IG5hbWU9ImxpYm5hbWUiIHZhbHVlPSJnYyIgLz4NCiAgICAgICAgPHByb3Bl cnR5IG5hbWU9InNyYyIgbG9jYXRpb249IiR7YnVpbGQudm0uaG9tZX0iIC8+DQoNCiAgICAgICAg PGNvbXBpbGVyIGlkPSJjcHAuY29tcGlsZXIiIGV4dGVuZHM9ImNvbW1vbi5jcHAuY29tcGlsZXIi Pg0KICAgICAgICAgICAgPGluY2x1ZGVwYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoZWxlbWVu dCBsb2NhdGlvbj0iJHtleHRyYS5hcHIuaW5jbHVkZXN9IiAvPg0KICAgICAgICAgICAgPC9pbmNs dWRlcGF0aD4NCg0KICAgICAgICAgICAgPGluY2x1ZGVwYXRoPg0KICAgICAgICAgICAgICAgIDxk aXJzZXQgZGlyPSIke2J1aWxkLnZtLmhvbWV9Ij4NCiAgICAgICAgICAgICAgICAgICAgPGluY2x1 ZGUgbmFtZT0iaW5jbHVkZSIgLz4NCiAgICAgICAgICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0i dm1jb3JlL2luY2x1ZGUiIC8+DQogICAgICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9InZt L2ludGVyZmFjZSIgLz4NCiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBvcz0id2luIj4NCiAg ICAgICAgICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9InZtY29yZS9zcmMvdXRpbC93aW4v aW5jbHVkZSIgLz4NCiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgICAgICAg ICAgICAgIDxzZWxlY3Qgb3M9ImxueCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW5jbHVk ZSBuYW1lPSJ2bWNvcmUvc3JjL3V0aWwvbGludXgvaW5jbHVkZSIgLz4NCiAgICAgICAgICAgICAg ICAgICAgPC9zZWxlY3Q+DQogICAgICAgICAgICAgICAgPC9kaXJzZXQ+DQogICAgICAgICAgICA8 L2luY2x1ZGVwYXRoPg0KDQogICAgICAgICAgICA8ZmlsZXNldCBkaXI9IiR7c3JjfS9nYy9zcmMi Pg0KICAgICAgICAgICAgCTxpbmNsdWRlIG5hbWU9ImNvbW1vbi8qLmNwcCIgLz4NCiAgICAgICAg ICAgIAk8aW5jbHVkZSBuYW1lPSJnZW4vKi5jcHAiIC8+DQogICAgICAgICAgICAJPGluY2x1ZGUg bmFtZT0idGhyZWFkLyouY3BwIiAvPg0KICAgICAgICAgICAgCTxpbmNsdWRlIG5hbWU9Im1hcmtf c3dlZXAvKi5jcHAiIC8+DQogICAgICAgICAgICAJPGluY2x1ZGUgbmFtZT0idHJhY2VfZm9yd2Fy ZC8qLmNwcCIgLz4NCiAgICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0ibWFya19jb21wYWN0Lyou Y3BwIiAvPg0KICAgICAgICAgICAgCTxpbmNsdWRlIG5hbWU9InZlcmlmeS8qLmNwcCIgLz4NCiAg ICAgICAgICAgIDwvZmlsZXNldD4NCg0KICAgICAgICAgICAgPGRlZmluZXNldCBkZWZpbmU9IkJV SUxESU5HX0dDIiAvPg0KDQogICAgICAgICAgICA8c2VsZWN0IG9zPSJ3aW4iPg0KICAgICAgICAg ICAgICAgIDxkZWZpbmVzZXQgZGVmaW5lPSJfVVNSRExMIiAvPg0KICAgICAgICAgICAgPC9zZWxl Y3Q+DQoNCiAgICAgICAgICAgIDxzZWxlY3Qgb3M9IndpbiIgY2ZnPSJyZWxlYXNlIiBjeHg9Imlj bCI+DQogICAgICAgICAgICAgICAgPGNvbXBpbGVyYXJnIHZhbHVlPSIvUWlwIiAvPg0KICAgICAg ICAgICAgPC9zZWxlY3Q+DQogICAgICAgIDwvY29tcGlsZXI+DQoNCiAgICAgICAgPHNlbGVjdCBv cz0id2luIiBhcmNoPSJpcGYiPg0KICAgICAgICAgICAgPGZpbGVzZXQgaWQ9ImFzbS5maWxlc2V0 Ig0KICAgICAgICAgICAgICAgICAgICAgZGlyPSIke2J1aWxkLnZtLmhvbWV9L2djL3NyYyI+DQog ICAgICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0iaW5pX2lwZl9sb3dfbGV2ZWwuYXNtIiAvPg0K ICAgICAgICAgICAgPC9maWxlc2V0Pg0KICAgICAgICA8L3NlbGVjdD4NCg0KICAgICAgICA8bGlu a2VyIGlkPSJsaW5rZXIiIGV4dGVuZHM9ImNvbW1vbi5saW5rZXIiPg0KICAgICAgICAgICAgPHNl bGVjdCBvcz0id2luIj4NCiAgICAgICAgICAgICAgICA8c3lzbGlic2V0IGxpYnM9ImFkdmFwaTMy LG9kYmMzMix3czJfMzIsbXN3c29jayIgLz4NCiAgICAgICAgICAgIDwvc2VsZWN0Pg0KDQogICAg ICAgICAgICA8c2VsZWN0IG9zPSJ3aW4iIGFyY2g9ImlwZiI+DQogICAgICAgICAgICAgICAgPHN5 c2xpYnNldCBsaWJzPSJBZHZBUEkzMiIgLz4NCiAgICAgICAgICAgIDwvc2VsZWN0Pg0KDQogICAg ICAgICAgICA8c2VsZWN0IG9zPSJ3aW4iIGNmZz0iZGVidWciPg0KICAgICAgICAgICAgICAgIDxs aW5rZXJhcmcgdmFsdWU9Ii9OT0RFRkFVTFRMSUI6bGliY210ZC5saWIiIC8+DQogICAgICAgICAg ICAgICAgPHN5c2xpYnNldCBsaWJzPSJtc3ZjcnRkIiAvPg0KICAgICAgICAgICAgPC9zZWxlY3Q+ DQoNCiAgICAgICAgICAgIDxsaWJzZXQgbGlicz0iJHt2bS52bWNvcmUubGlifSIgZGlyPSIke3Zt LnZtY29yZS5saWJkaXJ9IiAvPg0KDQogICAgICAgICAgICA8c2VsZWN0IG9zPSJsbngiPg0KICAg ICAgICAgICAgICAgIDxsaW5rZXJhcmcgdmFsdWU9Ii1Cc3ltYm9saWMiIC8+DQogICAgICAgICAg ICA8L3NlbGVjdD4NCiAgICAgICAgPC9saW5rZXI+DQogICAgPC90YXJnZXQ+DQo8L3Byb2plY3Q+ DQo= ------=_Part_29585_25059127.1160140663993 Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- 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 ------=_Part_29585_25059127.1160140663993--