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

Nicolas Geoffray nicolas.geoffray at lip6.fr
Wed Jul 8 05:18:21 PDT 2009


Author: geoffray
Date: Wed Jul  8 07:17:44 2009
New Revision: 75002

URL: http://llvm.org/viewvc/llvm-project?rev=75002&view=rev
Log:
Create finalizer and reference threads during bootstrap.


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=75002&r1=75001&r2=75002&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp Wed Jul  8 07:17:44 2009
@@ -953,6 +953,13 @@
 void Jnjvm::loadBootstrap() {
   JnjvmClassLoader* loader = bootstrapLoader;
   
+  // First create system threads.
+  finalizerThread = new JavaThread(0, 0, this);
+  finalizerThread->start((void (*)(mvm::Thread*))finalizerStart);
+    
+  enqueueThread = new JavaThread(0, 0, this);
+  enqueueThread->start((void (*)(mvm::Thread*))enqueueStart);
+  
   // Initialise the bootstrap class loader if it's not
   // done already.
   if (!bootstrapLoader->upcalls->newString)
@@ -1210,13 +1217,7 @@
     mvm::Thread* th = new JavaThread(0, 0, this);
     th->start(serviceCPUMonitor);
 #endif
-  
-    finalizerThread = new JavaThread(0, 0, this);
-    finalizerThread->start((void (*)(mvm::Thread*))finalizerStart);
-    
-    enqueueThread = new JavaThread(0, 0, this);
-    enqueueThread->start((void (*)(mvm::Thread*))enqueueStart);
-    
+   
     mainThread = new JavaThread(0, 0, this);
     mainThread->start((void (*)(mvm::Thread*))mainJavaStart);
   } else {





More information about the vmkit-commits mailing list