harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ming Wu" <wuming.sp...@gmail.com>
Subject A GC module written in Java for DRLVM
Date Tue, 20 Jun 2006 02:30:53 GMT
We have developed a Java GC with mark-sweep algorithm and integrated it into
the current drlvm code. The key feature is, the GC is not prebuilt into
binary, but loaded and jitted by the VM at runtime. Hopefully it is useful
to the existing efforts porting MMTk to DRLVM. It is actually the rewrite of
gc_mf of drlvm in Java language. It can run some simple Java applications,
but there is some issue with the build environment (different from what we
developed the GC with) that prevents us from running it with reasonable size
Java application. We tried to minimize the change to DRLVM existing code.

We have submitted the Java GC and patch file for VM to
JIRA(HARMONY-622<http://issues.apache.org/jira/browse/HARMONY-622>).
To run it, one should specify the classpath of the Java GC for the patched
VM, for example:

        cd $JAVA_GC_HOME
        tar zxvf javagc.tar.gz
        ij -classpath ./:$JAVA_GC_HOME/javagc HelloWorld

You can switch the VM GC module back to GC_v4 in the following code
(vmcore/src/init/vm_main.cpp):

static int initialize_gc_component() {
  if (0) {     //change 0 to 1 to switch to GC_v4
    initialize_c_gc_component();
  } else {
    initialize_java_gc();
  }
}

If you want to completely disable this mechanisms of Java GC support in
DRLVM, please change the macro definition of GC_DLL to "gc" and remove the
invocation to initialize_gc_component in function vm_main."

-- 
Thanks,
Ming

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message