[vmkit-commits] [vmkit] r61689 - /vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Mon Jan 5 01:56:26 PST 2009


Author: geoffray
Date: Mon Jan  5 03:56:21 2009
New Revision: 61689

URL: http://llvm.org/viewvc/llvm-project?rev=61689&view=rev
Log:
Set the owner class as a class being static initialized after the class
is resolved.


Modified:
    vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp

Modified: vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp?rev=61689&r1=61688&r2=61689&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp Mon Jan  5 03:56:21 2009
@@ -1097,7 +1097,6 @@
 static void compileClass(Class* cl) {
   // Use the owner class field of the class so that we know if the class
   // belongs to the list of classes that we are static compiling.
-  cl->setOwnerClass(JavaThread::get());
   cl->classLoader->getModule()->getNativeClass(cl);
 
   for (uint32 i = 0; i < cl->nbVirtualMethods; ++i) {
@@ -1165,6 +1164,7 @@
            e = classes.end(); i != e; ++i) {
         Class* cl = *i;
         cl->resolveClass();
+        cl->setOwnerClass(JavaThread::get());
       }
       
       for (std::vector<Class*>::iterator i = classes.begin(), e = classes.end();
@@ -1177,6 +1177,7 @@
 
       const UTF8* utf8 = bootstrapLoader->asciizConstructUTF8(name);
       UserClass* cl = bootstrapLoader->loadName(utf8, true, true);
+      cl->setOwnerClass(JavaThread::get());
       compileClass(cl);
     }
    





More information about the vmkit-commits mailing list