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!

Thanks,
xiaofeng

---------- Forwarded message ----------
From: Xiao-Feng Li (JIRA) <[EMAIL PROTECTED]>
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: [EMAIL PROTECTED]


    [ 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!

Thanks,
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


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

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to