[vmkit-commits] [vmkit] r116307 - in /vmkit/trunk: ./ Makefile.rules autoconf/configure.ac configure include/mvm/VirtualMachine.h lib/J3/Classpath/ClasspathVMSystemProperties.inc lib/J3/VMCore/LinkJavaRuntime.h lib/Mvm/Runtime/Object.cpp mmtk/java/Makefile mmtk/java/build.xml.in

Nicolas Geoffray nicolas.geoffray at lip6.fr
Tue Oct 12 08:34:50 PDT 2010


Author: geoffray
Date: Tue Oct 12 10:34:50 2010
New Revision: 116307

URL: http://llvm.org/viewvc/llvm-project?rev=116307&view=rev
Log:
Merge with release 0.28 changes.


Modified:
    vmkit/trunk/   (props changed)
    vmkit/trunk/Makefile.rules
    vmkit/trunk/autoconf/configure.ac
    vmkit/trunk/configure
    vmkit/trunk/include/mvm/VirtualMachine.h
    vmkit/trunk/lib/J3/Classpath/ClasspathVMSystemProperties.inc
    vmkit/trunk/lib/J3/VMCore/LinkJavaRuntime.h
    vmkit/trunk/lib/Mvm/Runtime/Object.cpp
    vmkit/trunk/mmtk/java/Makefile
    vmkit/trunk/mmtk/java/build.xml.in

Propchange: vmkit/trunk/
------------------------------------------------------------------------------
    svn:mergeinfo = /vmkit/branches/release_028:115466-116298

Modified: vmkit/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.rules?rev=116307&r1=116306&r2=116307&view=diff
==============================================================================
--- vmkit/trunk/Makefile.rules (original)
+++ vmkit/trunk/Makefile.rules Tue Oct 12 10:34:50 2010
@@ -131,10 +131,10 @@
   ADDITIONAL_ARGS := -load-bc=$(LibDir)/MMTKRuntime.bc 
 
   all::
-	$(Verb) $(ANT) -buildfile $(PROJ_SRC_ROOT)/mmtk/java/build.xml
+	$(Verb) $(ANT) -buildfile $(PROJ_OBJ_ROOT)/mmtk/java/build.xml
 	$(Echo) Building $(BuildMode) $(JARNAME).jar $(notdir $@)
 	$(Verb) $(LOPT) -load=$(LibDir)/JITGCPass$(SHLIBEXT) -std-compile-opts -JITGCPass -f $(LibDir)/MMTKAlloc.bc -o $(LibDir)/MMTKAlloc.bc
-	$(Verb) $(VMJC) -std-compile-opts $(ADDITIONAL_ARGS) -load=$(LibDir)/MMTKMagic$(SHLIBEXT) -LowerMagic -verify $(PROJ_SRC_ROOT)/mmtk/java/$(JARNAME).jar -disable-exceptions -disable-cooperativegc -with-clinit=org/mmtk/vm/VM,org/mmtk/utility/*,org/mmtk/policy/*,org/j3/config/* -Dmmtk.hostjvm=org.j3.mmtk.Factory -o $(JARNAME).bc -Dmmtk.properties=$(PROJ_SRC_ROOT)/mmtk/java/vmkit.properties -disable-stubs -assume-compiled -llvm-lazy
+	$(Verb) $(VMJC) -std-compile-opts $(ADDITIONAL_ARGS) -load=$(LibDir)/MMTKMagic$(SHLIBEXT) -LowerMagic -verify $(PROJ_OBJ_ROOT)/mmtk/java/$(JARNAME).jar -disable-exceptions -disable-cooperativegc -with-clinit=org/mmtk/vm/VM,org/mmtk/utility/*,org/mmtk/policy/*,org/j3/config/* -Dmmtk.hostjvm=org.j3.mmtk.Factory -o $(JARNAME).bc -Dmmtk.properties=$(PROJ_SRC_ROOT)/mmtk/java/vmkit.properties -disable-stubs -assume-compiled -llvm-lazy
 	$(Verb) $(LOPT) -load=$(LibDir)/MMTKMagic$(SHLIBEXT) -std-compile-opts -LowerJavaRT -f $(JARNAME).bc -o $(JARNAME)-optimized.bc
 	$(Verb) $(LLVMLD) -r -o $(LibDir)/FinalMMTk.bc $(LibDir)/MMTKAlloc.bc $(JARNAME)-optimized.bc $(LibDir)/MMTKRuntime.bc
 	$(Verb) $(LOPT) -std-compile-opts $(LibDir)/FinalMMTk.bc -o $(LibDir)/FinalMMTk.bc

Modified: vmkit/trunk/autoconf/configure.ac
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/autoconf/configure.ac?rev=116307&r1=116306&r2=116307&view=diff
==============================================================================
--- vmkit/trunk/autoconf/configure.ac (original)
+++ vmkit/trunk/autoconf/configure.ac Tue Oct 12 10:34:50 2010
@@ -31,7 +31,7 @@
 dnl===-----------------------------------------------------------------------===
 dnl Initialize autoconf and define the package name, version number and
 dnl email address for reporting bugs.
-AC_INIT([vmkit],[0.28svn],[nicolas.geoffray at gmail.com])
+AC_INIT([vmkit],[0.29svn],[nicolas.geoffray at gmail.com])
 
 dnl Provide a copyright substitution and ensure the copyright notice is included
 dnl in the output of --version option of the generated configure script.
@@ -624,8 +624,6 @@
 AC_CONFIG_FILES(Makefile.common)
 AC_CONFIG_FILES(Makefile.config)
 AC_CONFIG_FILES([lib/J3/Classpath/Classpath.h])
-AC_CONFIG_FILES([lib/N3/PNetLib/PNetPath.inc])
-AC_CONFIG_FILES([lib/N3/Mono/MonoPath.inc])
 AC_CONFIG_FILES([tools/llcj/LinkPaths.h])
 AC_CONFIG_FILES([mmtk/java/build.xml])
 

Modified: vmkit/trunk/configure
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/configure?rev=116307&r1=116306&r2=116307&view=diff
==============================================================================
--- vmkit/trunk/configure (original)
+++ vmkit/trunk/configure Tue Oct 12 10:34:50 2010
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for vmkit 0.28svn.
+# Generated by GNU Autoconf 2.65 for vmkit 0.29svn.
 #
 # Report bugs to <nicolas.geoffray at gmail.com>.
 #
@@ -554,8 +554,8 @@
 # Identity of this package.
 PACKAGE_NAME='vmkit'
 PACKAGE_TARNAME='vmkit'
-PACKAGE_VERSION='0.28svn'
-PACKAGE_STRING='vmkit 0.28svn'
+PACKAGE_VERSION='0.29svn'
+PACKAGE_STRING='vmkit 0.29svn'
 PACKAGE_BUGREPORT='nicolas.geoffray at gmail.com'
 PACKAGE_URL=''
 
@@ -1289,7 +1289,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures vmkit 0.28svn to adapt to many kinds of systems.
+\`configure' configures vmkit 0.29svn to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1355,7 +1355,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of vmkit 0.28svn:";;
+     short | recursive ) echo "Configuration of vmkit 0.29svn:";;
    esac
   cat <<\_ACEOF
 
@@ -1470,7 +1470,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-vmkit configure 0.28svn
+vmkit configure 0.29svn
 generated by GNU Autoconf 2.65
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1935,7 +1935,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by vmkit $as_me 0.28svn, which was
+It was created by vmkit $as_me 0.29svn, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   $ $0 $@
@@ -6131,10 +6131,6 @@
 
 ac_config_files="$ac_config_files lib/J3/Classpath/Classpath.h"
 
-ac_config_files="$ac_config_files lib/N3/PNetLib/PNetPath.inc"
-
-ac_config_files="$ac_config_files lib/N3/Mono/MonoPath.inc"
-
 ac_config_files="$ac_config_files tools/llcj/LinkPaths.h"
 
 ac_config_files="$ac_config_files mmtk/java/build.xml"
@@ -6653,7 +6649,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by vmkit $as_me 0.28svn, which was
+This file was extended by vmkit $as_me 0.29svn, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6719,7 +6715,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-vmkit config.status 0.28svn
+vmkit config.status 0.29svn
 configured by $0, generated by GNU Autoconf 2.65,
   with options \\"\$ac_cs_config\\"
 
@@ -6845,8 +6841,6 @@
     "Makefile.common") CONFIG_FILES="$CONFIG_FILES Makefile.common" ;;
     "Makefile.config") CONFIG_FILES="$CONFIG_FILES Makefile.config" ;;
     "lib/J3/Classpath/Classpath.h") CONFIG_FILES="$CONFIG_FILES lib/J3/Classpath/Classpath.h" ;;
-    "lib/N3/PNetLib/PNetPath.inc") CONFIG_FILES="$CONFIG_FILES lib/N3/PNetLib/PNetPath.inc" ;;
-    "lib/N3/Mono/MonoPath.inc") CONFIG_FILES="$CONFIG_FILES lib/N3/Mono/MonoPath.inc" ;;
     "tools/llcj/LinkPaths.h") CONFIG_FILES="$CONFIG_FILES tools/llcj/LinkPaths.h" ;;
     "mmtk/java/build.xml") CONFIG_FILES="$CONFIG_FILES mmtk/java/build.xml" ;;
     "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;

Modified: vmkit/trunk/include/mvm/VirtualMachine.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/mvm/VirtualMachine.h?rev=116307&r1=116306&r2=116307&view=diff
==============================================================================
--- vmkit/trunk/include/mvm/VirtualMachine.h (original)
+++ vmkit/trunk/include/mvm/VirtualMachine.h Tue Oct 12 10:34:50 2010
@@ -400,14 +400,17 @@
     ToEnqueue[ToEnqueueIndex++] = obj;
   }
 
-protected:
+public:
   /// invokeFinalizer - Invoke the finalizer of the object. This may involve
   /// changing the environment, e.g. going to native to Java.
   ///
   virtual void invokeFinalizer(gc*) {}
-
-
-public:
+  
+  /// enqueueReference - Calls the enqueue method. Should be overriden
+  /// by the VM.
+  ///
+  virtual bool enqueueReference(gc*) { return false; }
+  
   /// finalizerStart - The start function of a finalizer. Will poll the
   /// finalizationQueue.
   ///
@@ -505,12 +508,6 @@
   /// by the VM.
   virtual void setReferent(gc* reference, gc* referent) { }
 
-  /// enqueueReference - Calls the enqueue method. Should be overriden
-  /// by the VM.
-  ///
-  virtual bool enqueueReference(gc*) { return false; }
-
-
 public:
 
   /// scanner - Scanner of threads' stacks.

Modified: vmkit/trunk/lib/J3/Classpath/ClasspathVMSystemProperties.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Classpath/ClasspathVMSystemProperties.inc?rev=116307&r1=116306&r2=116307&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Classpath/ClasspathVMSystemProperties.inc (original)
+++ vmkit/trunk/lib/J3/Classpath/ClasspathVMSystemProperties.inc Tue Oct 12 10:34:50 2010
@@ -92,7 +92,7 @@
   setProperty(vm, prop, "java.class.path", vm->classpath);
   setProperty(vm, prop, "java.boot.class.path", JCL->bootClasspathEnv);
   setProperty(vm, prop, "sun.boot.class.path", JCL->bootClasspathEnv);
-  setProperty(vm, prop, "java.vm.version", "0.27");
+  setProperty(vm, prop, "java.vm.version", "0.28");
   setProperty(vm, prop, "java.vm.vendor", "The VMKit Project");
   setProperty(vm, prop, "java.vm.name", "J3");
   setProperty(vm, prop, "java.specification.version", "1.5");

Modified: vmkit/trunk/lib/J3/VMCore/LinkJavaRuntime.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/LinkJavaRuntime.h?rev=116307&r1=116306&r2=116307&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/LinkJavaRuntime.h (original)
+++ vmkit/trunk/lib/J3/VMCore/LinkJavaRuntime.h Tue Oct 12 10:34:50 2010
@@ -80,7 +80,7 @@
 #endif
 
 
-namespace {
+namespace force_linker {
   struct ForceRuntimeLinking {
     ForceRuntimeLinking() {
       // We must reference the passes in such a way that compilers will not

Modified: vmkit/trunk/lib/Mvm/Runtime/Object.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Runtime/Object.cpp?rev=116307&r1=116306&r2=116307&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Runtime/Object.cpp (original)
+++ vmkit/trunk/lib/Mvm/Runtime/Object.cpp Tue Oct 12 10:34:50 2010
@@ -61,6 +61,21 @@
 
 typedef void (*destructor_t)(void*);
 
+void invokeFinalize(mvm::Thread* th, gc* res) {
+  llvm_gcroot(res, 0);
+  TRY {
+    th->MyVM->invokeFinalizer(res);
+  } IGNORE;
+  th->clearException();
+}
+
+void invokeEnqueue(mvm::Thread* th, gc* res) {
+  llvm_gcroot(res, 0);
+  TRY {
+    th->MyVM->enqueueReference(res);
+  } IGNORE;
+  th->clearException();
+}
 
 void VirtualMachine::finalizerStart(mvm::Thread* th) {
   VirtualMachine* vm = th->MyVM;
@@ -83,17 +98,14 @@
       vm->FinalizationQueueLock.release();
       if (!res) break;
 
-      TRY {
-        VirtualTable* VT = res->getVirtualTable();
-        if (VT->operatorDelete) {
-          destructor_t dest = (destructor_t)VT->destructor;
-          dest(res);
-        } else {
-          vm->invokeFinalizer(res);
-        }
-      } IGNORE;
+      VirtualTable* VT = res->getVirtualTable();
+      if (VT->operatorDelete) {
+        destructor_t dest = (destructor_t)VT->destructor;
+        dest(res);
+      } else {
+        invokeFinalize(th, res);
+      }
       res = 0;
-      th->clearException();
     }
   }
 }
@@ -119,11 +131,8 @@
       vm->ToEnqueueLock.release();
       if (!res) break;
 
-      TRY {
-        vm->enqueueReference(res);
-      } IGNORE;
+      invokeEnqueue(th, res);
       res = 0;
-      th->clearException();
     }
   }
 }

Modified: vmkit/trunk/mmtk/java/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/java/Makefile?rev=116307&r1=116306&r2=116307&view=diff
==============================================================================
--- vmkit/trunk/mmtk/java/Makefile (original)
+++ vmkit/trunk/mmtk/java/Makefile Tue Oct 12 10:34:50 2010
@@ -12,6 +12,6 @@
 
 RUN_ANT = 1
 JARNAME = mmtk-vmkit
-EXTRA_DIST = vmkit.properties build.xml src
+EXTRA_DIST = vmkit.properties build.xml.in src
 
 include $(LEVEL)/Makefile.common

Modified: vmkit/trunk/mmtk/java/build.xml.in
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/java/build.xml.in?rev=116307&r1=116306&r2=116307&view=diff
==============================================================================
--- vmkit/trunk/mmtk/java/build.xml.in (original)
+++ vmkit/trunk/mmtk/java/build.xml.in Tue Oct 12 10:34:50 2010
@@ -1,7 +1,7 @@
 <project name="MMTK-VMKit" default="main" basedir=".">
   <target name="main">
     <mkdir dir="classes"/>
-    <javac srcdir="src:../config/@MMTK_PLAN@" destdir="classes" source="1.5"/>
+    <javac srcdir="@abs_top_srcdir@/mmtk/java/src:@abs_top_srcdir@/mmtk/config/@MMTK_PLAN@" destdir="classes" source="1.5"/>
     <jar jarfile="mmtk-vmkit.jar">
       <fileset dir="classes"/>
     </jar>





More information about the vmkit-commits mailing list