[vmkit-commits] [vmkit] r108703 - in /vmkit/trunk/lib/J3: Compiler/JavaAOTCompiler.cpp VMCore/JavaClass.cpp VMCore/JavaConstantPool.cpp VMCore/JavaTypes.cpp VMCore/Jnjvm.cpp VMCore/JnjvmClassLoader.cpp VMCore/JnjvmClassLoader.h

Nicolas Geoffray nicolas.geoffray at lip6.fr
Mon Jul 19 09:01:17 PDT 2010


Author: geoffray
Date: Mon Jul 19 11:01:17 2010
New Revision: 108703

URL: http://llvm.org/viewvc/llvm-project?rev=108703&view=rev
Log:
Don't give a default parameter value to an object parameter (we never know).


Modified:
    vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
    vmkit/trunk/lib/J3/VMCore/JavaClass.cpp
    vmkit/trunk/lib/J3/VMCore/JavaConstantPool.cpp
    vmkit/trunk/lib/J3/VMCore/JavaTypes.cpp
    vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp
    vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp
    vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h

Modified: vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp?rev=108703&r1=108702&r2=108703&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp Mon Jul 19 11:01:17 2010
@@ -2044,7 +2044,7 @@
       }
      
       const UTF8* utf8 = bootstrapLoader->asciizConstructUTF8(realName);
-      UserClass* cl = bootstrapLoader->loadName(utf8, true, true);
+      UserClass* cl = bootstrapLoader->loadName(utf8, true, true, NULL);
       
       if (!M->clinits->empty()) {
         vm->loadBootstrap();

Modified: vmkit/trunk/lib/J3/VMCore/JavaClass.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaClass.cpp?rev=108703&r1=108702&r2=108703&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaClass.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaClass.cpp Mon Jul 19 11:01:17 2010
@@ -41,7 +41,6 @@
 Class** ClassArray::InterfacesArray;
 
 extern "C" void JavaArrayTracer(JavaObject*);
-extern "C" void JavaObjectTracer(JavaObject*);
 extern "C" void ArrayObjectTracer(JavaObject*);
 extern "C" void RegularObjectTracer(JavaObject*);
 
@@ -686,7 +685,7 @@
   uint16 superEntry = reader.readU2();
   if (superEntry) {
     const UTF8* superUTF8 = ctpInfo->resolveClassName(superEntry);
-    super = classLoader->loadName(superUTF8, false, true);
+    super = classLoader->loadName(superUTF8, false, true, NULL);
   }
 
   uint16 nbI = reader.readU2();
@@ -698,7 +697,7 @@
   // in anon-cooperative environment.
   for (int i = 0; i < nbI; i++) {
     const UTF8* name = ctpInfo->resolveClassName(reader.readU2());
-    interfaces[i] = classLoader->loadName(name, false, true);
+    interfaces[i] = classLoader->loadName(name, false, true, NULL);
   }
   nbInterfaces = nbI;
 
@@ -1431,11 +1430,11 @@
   // so that the secondary type list of array VTs can reference them.
   ClassArray::InterfacesArray[0] = 
     JCL->loadName(JCL->asciizConstructUTF8("java/lang/Cloneable"),
-                  true, false);
+                  true, false, NULL);
   
   ClassArray::InterfacesArray[1] = 
     JCL->loadName(JCL->asciizConstructUTF8("java/io/Serializable"),
-                  true, false);
+                  true, false, NULL);
    
   // Load base array classes that JnJVM internally uses. Now that the interfaces
   // have been loaded, the secondary type can be safely created.
@@ -1475,9 +1474,10 @@
   if (C->super) {
     
     assert(C->super->virtualVT && "Super has no VT");
-
-    // Set the regular object tracer, destructor and delete.
-    tracer = (uintptr_t)RegularObjectTracer;
+ 
+    // Will be RegularObjectTracer for regular Java objects, and
+    // ObjectReference tracer for java.lang.ref.Reference objects.
+    tracer = C->super->virtualVT->tracer;
     destructor = 0;
     operatorDelete = 0;
     
@@ -1544,7 +1544,7 @@
 
   } else {
     // Set the tracer, destructor and delete.
-    tracer = (uintptr_t)JavaObjectTracer;
+    tracer = (uintptr_t)RegularObjectTracer;
     destructor = 0;
     operatorDelete = 0;
     

Modified: vmkit/trunk/lib/J3/VMCore/JavaConstantPool.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaConstantPool.cpp?rev=108703&r1=108702&r2=108703&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaConstantPool.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaConstantPool.cpp Mon Jul 19 11:01:17 2010
@@ -289,7 +289,7 @@
     if (name->elements[0] == I_TAB) {
       temp = loader->constructArray(name);
     } else {
-      temp = loader->loadName(name, resolve, false);
+      temp = loader->loadName(name, resolve, false, NULL);
     } 
     ctpRes[index] = temp;
   }

Modified: vmkit/trunk/lib/J3/VMCore/JavaTypes.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaTypes.cpp?rev=108703&r1=108702&r2=108703&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaTypes.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaTypes.cpp Mon Jul 19 11:01:17 2010
@@ -21,7 +21,7 @@
 }
 
 UserCommonClass* ObjectTypedef::assocClass(JnjvmClassLoader* loader) const {
-  return loader->loadName(pseudoAssocClassName, false, true);
+  return loader->loadName(pseudoAssocClassName, false, true, NULL);
 }
 
 UserCommonClass* ObjectTypedef::findAssocClass(JnjvmClassLoader* loader) const {

Modified: vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp?rev=108703&r1=108702&r2=108703&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp Mon Jul 19 11:01:17 2010
@@ -1196,7 +1196,7 @@
   // load and initialise math since it is responsible for dlopen'ing 
   // libjavalang.so and we are optimizing some math operations
   UserCommonClass* math = 
-    loader->loadName(loader->asciizConstructUTF8("java/lang/Math"), true, true);
+    loader->loadName(loader->asciizConstructUTF8("java/lang/Math"), true, true, NULL);
   math->asClass()->initialiseClass(this);
 }
 
@@ -1217,7 +1217,7 @@
     // If not, load the class.
     if (cl == NULL) {
       const UTF8* name = appClassLoader->asciizConstructUTF8(className);
-      cl = (UserClass*)appClassLoader->loadName(name, true, true);
+      cl = (UserClass*)appClassLoader->loadName(name, true, true, NULL);
     }
     
     cl->initialiseClass(this);
@@ -1256,7 +1256,7 @@
   llvm_gcroot(instrumenter, 0);
   TRY {
     const UTF8* name = appClassLoader->asciizConstructUTF8(className);
-    UserClass* cl = (UserClass*)appClassLoader->loadName(name, true, true);
+    UserClass* cl = (UserClass*)appClassLoader->loadName(name, true, true, NULL);
     cl->initialiseClass(this);
   
     const UTF8* funcSign = appClassLoader->asciizConstructUTF8(

Modified: vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp?rev=108703&r1=108702&r2=108703&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp Mon Jul 19 11:01:17 2010
@@ -521,7 +521,7 @@
     const UTF8* componentName = lookupComponentName(name, holder, prim);
     if (prim) return constructArray(name);
     if (componentName) {
-      UserCommonClass* temp = loadName(componentName, doResolve, doThrow);
+      UserCommonClass* temp = loadName(componentName, doResolve, doThrow, NULL);
       if (temp) return constructArray(name);
     }
   } else {
@@ -558,7 +558,7 @@
     if (temp) return temp;
   }
  
-  return loadClassFromUserUTF8(name, doResolve, doThrow);
+  return loadClassFromUserUTF8(name, doResolve, doThrow, NULL);
 }
 
 
@@ -631,7 +631,7 @@
   } else if (name->elements[start] == I_REF) {
     const UTF8* componentName = name->extract(hashUTF8,
                                               start + 1, start + len - 1);
-    UserCommonClass* cl = loadName(componentName, false, true);
+    UserCommonClass* cl = loadName(componentName, false, true, NULL);
     return cl;
   } else {
     Classpath* upcalls = bootstrapLoader->upcalls;

Modified: vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h?rev=108703&r1=108702&r2=108703&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h Mon Jul 19 11:01:17 2010
@@ -157,13 +157,13 @@
   /// loadName - Loads the class of the given name.
   ///
   UserClass* loadName(const UTF8* name, bool doResolve, bool doThrow,
-                      JavaString* strName = 0);
+                      JavaString* strName);
   
   /// loadClassFromUTF8 - Lookup a class from an UTF8 name and load it.
   ///
   UserCommonClass* loadClassFromUserUTF8(const UTF8* utf8,
                                          bool doResolve, bool doThrow,
-                                         JavaString* strName = 0);
+                                         JavaString* strName);
   
   /// loadClassFromAsciiz - Lookup a class from an asciiz name and load it.
   ///
@@ -483,7 +483,6 @@
   JnjvmClassLoader* getClassLoader() {
     return JCL;
   }
-
 };
 
 #define MAXIMUM_STRINGS 100





More information about the vmkit-commits mailing list