[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