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]