[vmkit-commits] [vmkit] r83712 - in /vmkit/trunk/lib/N3/VMCore: N3Initialise.cpp VMThread.cpp VMThread.h VirtualTables.cpp

Gael Thomas gael.thomas at lip6.fr
Sat Oct 10 05:22:33 PDT 2009


Author: gthomas
Date: Sat Oct 10 07:22:33 2009
New Revision: 83712

URL: http://llvm.org/viewvc/llvm-project?rev=83712&view=rev
Log:
VMThread is now a MutatorThread.


Modified:
    vmkit/trunk/lib/N3/VMCore/N3Initialise.cpp
    vmkit/trunk/lib/N3/VMCore/VMThread.cpp
    vmkit/trunk/lib/N3/VMCore/VMThread.h
    vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp

Modified: vmkit/trunk/lib/N3/VMCore/N3Initialise.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/N3Initialise.cpp?rev=83712&r1=83711&r2=83712&view=diff

==============================================================================
--- vmkit/trunk/lib/N3/VMCore/N3Initialise.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/N3Initialise.cpp Sat Oct 10 07:22:33 2009
@@ -188,7 +188,6 @@
   INIT(VMCond);
   INIT(LockObj);
   INIT(VMObject);
-  INIT(VMThread);
   INIT(ThreadSystem);
   INIT(CLIString);
   INIT(CLIJit);
@@ -209,7 +208,7 @@
   VMObject::globalLock = new mvm::LockNormal();
 
   N3* vm = N3::bootstrapVM = N3::allocateBootstrap();
-  VMThread::TheThread = VMThread::allocate(0, vm);
+  VMThread::TheThread = new VMThread(0, vm);
   
   
   vm->assemblyPath.push_back("");

Modified: vmkit/trunk/lib/N3/VMCore/VMThread.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/VMThread.cpp?rev=83712&r1=83711&r2=83712&view=diff

==============================================================================
--- vmkit/trunk/lib/N3/VMCore/VMThread.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/VMThread.cpp Sat Oct 10 07:22:33 2009
@@ -33,29 +33,24 @@
   vmThread->print(buf);
 }
 
+extern void AddStandardCompilePasses(llvm::FunctionPassManager*);
+
 VMThread::~VMThread() {
   delete perFunctionPasses;
 }
 
-VMThread::VMThread() {
-  perFunctionPasses = 0;
-}
-
-extern void AddStandardCompilePasses(llvm::FunctionPassManager*);
-
-VMThread* VMThread::allocate(VMObject* thread, N3* vm) {
-  VMThread* key = new VMThread();
-  key->vmThread = thread;
-  key->vm = vm;
-  key->lock = new mvm::LockNormal();
-  key->varcond = new mvm::Cond();
-  key->interruptFlag = 0;
-  key->state = StateRunning;
-  key->pendingException = 0;
-  key->perFunctionPasses = new llvm::FunctionPassManager(vm->TheModuleProvider);
-  key->perFunctionPasses->add(new llvm::TargetData(vm->getLLVMModule()));
-  AddStandardCompilePasses(key->perFunctionPasses);
-  return key;
+VMThread::VMThread(VMObject* thread, N3* vm) {
+  this->perFunctionPasses = 0;
+  this->vmThread = thread;
+  this->vm = vm;
+  this->lock = new mvm::LockNormal();
+  this->varcond = new mvm::Cond();
+  this->interruptFlag = 0;
+  this->state = StateRunning;
+  this->pendingException = 0;
+  this->perFunctionPasses = new llvm::FunctionPassManager(vm->TheModuleProvider);
+  this->perFunctionPasses->add(new llvm::TargetData(vm->getLLVMModule()));
+  AddStandardCompilePasses(this->perFunctionPasses);
 }
 
 VMObject* VMThread::currentThread() {

Modified: vmkit/trunk/lib/N3/VMCore/VMThread.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/VMThread.h?rev=83712&r1=83711&r2=83712&view=diff

==============================================================================
--- vmkit/trunk/lib/N3/VMCore/VMThread.h (original)
+++ vmkit/trunk/lib/N3/VMCore/VMThread.h Sat Oct 10 07:22:33 2009
@@ -17,7 +17,7 @@
 #include "mvm/Object.h"
 #include "mvm/Threads/Cond.h"
 #include "mvm/Threads/Locks.h"
-#include "mvm/Threads/Thread.h"
+#include "MutatorThread.h"
 
 namespace n3 {
 
@@ -27,9 +27,8 @@
 class VMObject;
 class VMGenericMethod;
 
-class VMThread : public mvm::Thread {
+class VMThread : public mvm::MutatorThread {
 public:
-  static VirtualTable *VT;
   VMObject* vmThread;
   N3* vm;
   mvm::Lock* lock;
@@ -46,7 +45,7 @@
   virtual void print(mvm::PrintBuffer *buf) const;
   virtual void TRACER;
   ~VMThread();
-  VMThread();
+  VMThread(VMObject *thread, N3 *vm);
   
   // Temporary solution until N3 can cleanly bootstrap itself and
   // implement threads.
@@ -54,7 +53,6 @@
   static VMThread* get() {
     return TheThread;
   }
-  static VMThread* allocate(VMObject* thread, N3* vm);
   static VMObject* currentThread();
   
   static VMObject* getCLIException();

Modified: vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp?rev=83712&r1=83711&r2=83712&view=diff

==============================================================================
--- vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp Sat Oct 10 07:22:33 2009
@@ -39,7 +39,6 @@
   INIT(VMCond);
   INIT(LockObj);
   INIT(VMObject);
-  INIT(VMThread);
   INIT(ThreadSystem);
   INIT(CLIString);
   INIT(Property);





More information about the vmkit-commits mailing list