harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject [DRLVM][GC] ( Updated:HARMONY-1428) a submission of a mark-compaction GC
Date Wed, 20 Sep 2006 06:31:27 GMT
Hi, a new attachment is submitted to GCv5 as an update to JIRA 1428.
(https://issues.apache.org/jira/browse/HARMONY-1428), which is a
mark-compaction GC. This GC is going to be connected with last
submission (the trace-forwarding GC) into a generational GC.

The code is in my opinion very easy to understand, so it's encouraged
for everybody who is interested in GC development to download and have
a play. Comments are welcome!


---------- Forwarded message ----------
From: Xiao-Feng Li (JIRA) <jira@apache.org>
Date: Sep 20, 2006 2:15 PM
Subject: [jira] Updated: (HARMONY-1428) [DRLVM] first batch of files
for GCv5, a trace-forward copying collector
To: xiaofeng.li@gmail.com

     [ http://issues.apache.org/jira/browse/HARMONY-1428?page=all ]

Xiao-Feng Li updated HARMONY-1428:

    Attachment: GCv5-mc001.zip

The attachment is a mark-compaction GC implementation for DRLVM, and
is supposed to be the mature space collector of GCv5.

Currently it is a standalone mark-compaction GC that can run
SPECJBB2000 and SPECJVM98 on MS Windows with VS.NET 2003.

It arranges the heap space into two parts: mark-compaction space
(Mspace) and large-object space (LOS), and they are managed by
different algorithms.  The Mspace GC is the major part of this
submission, whereas the LOS part is only a skeleton that will be
stuffed later.

The code is written from the scratch and is very easy to understand
(well, in my personal opinion). Next is to connect it with the last
submission (a Trace-forwarding GC targeted at the nursery space
collector) into a full generational GC.

During the development of the Trace-forwarding and the Mark-compaction
GCs, I intentionally arranged the code base into flexible enough so
that they can be connected into one and they can run seperately as
standalone GC. The gc.xml make file needs to be modified to reflect
the directory difference than existing GC.

Any comments, suggestions, and code contributions are welcome!


> [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
> 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
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

View raw message