[vmkit-commits] [vmkit] r200835 - Continue the simplification of Thread::get()

Gael Thomas gael.thomas at lip6.fr
Wed Feb 5 04:43:52 PST 2014


Author: gthomas
Date: Wed Feb  5 06:43:51 2014
New Revision: 200835

URL: http://llvm.org/viewvc/llvm-project?rev=200835&view=rev
Log:
Continue the simplification of Thread::get()

Modified:
    vmkit/branches/mcjit/include/vmkit/allocator.h
    vmkit/branches/mcjit/include/vmkit/thread.h
    vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc
    vmkit/branches/mcjit/lib/j3/vm/j3object.cc
    vmkit/branches/mcjit/lib/vmkit/allocator.cc
    vmkit/branches/mcjit/lib/vmkit/thread.cc

Modified: vmkit/branches/mcjit/include/vmkit/allocator.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/vmkit/allocator.h?rev=200835&r1=200834&r2=200835&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/vmkit/allocator.h (original)
+++ vmkit/branches/mcjit/include/vmkit/allocator.h Wed Feb  5 06:43:51 2014
@@ -15,8 +15,6 @@
 #include <map>
 #include <vector>
 
-#include "vmkit/config.h"
-
 namespace vmkit {
 	class BumpAllocatorNode { /* always the first bytes of a bucket */
 	public:
@@ -123,7 +121,6 @@ namespace vmkit {
 
 		static pthread_mutex_t     mutex;
 		static uintptr_t           baseStack;
-		static uintptr_t           _magic;
 		static std::vector<void*>* spaces;
 		static std::vector<void*>* freeThreads;
 
@@ -138,8 +135,6 @@ namespace vmkit {
 
 		static void*     stackAddr(void* thread);
 		static size_t    stackSize(void* thread); 
-
-		static uintptr_t magic() { return -VMKIT_STACK_SIZE; }
 	};
 } // end namespace vmkit
 

Modified: vmkit/branches/mcjit/include/vmkit/thread.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/vmkit/thread.h?rev=200835&r1=200834&r2=200835&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/vmkit/thread.h (original)
+++ vmkit/branches/mcjit/include/vmkit/thread.h Wed Feb  5 06:43:51 2014
@@ -34,8 +34,8 @@ namespace vmkit {
 		VMKit* vm() { return _vm; }
 
 		static uintptr_t getThreadMask();
-		static Thread* get(void* ptr);
-		static Thread* get();
+		static Thread*   get(void* ptr);
+		static Thread*   get();
 
 		bool registerSignal(int n, sa_action_t handler);
 

Modified: vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc?rev=200835&r1=200834&r2=200835&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc Wed Feb  5 06:43:51 2014
@@ -231,7 +231,7 @@ llvm::Value* J3CodeGen::typeDescriptor(J
 
 llvm::Value* J3CodeGen::spToCurrentThread(llvm::Value* sp) {
 	return builder.CreateIntToPtr(builder.CreateAnd(builder.CreatePtrToInt(sp, uintPtrTy),
-																										llvm::ConstantInt::get(uintPtrTy, vmkit::Thread::getThreadMask())),
+																									llvm::ConstantInt::get(uintPtrTy, vmkit::Thread::getThreadMask())),
 																 vm->typeJ3Thread);
 }
 

Modified: vmkit/branches/mcjit/lib/j3/vm/j3object.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3object.cc?rev=200835&r1=200834&r2=200835&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3object.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3object.cc Wed Feb  5 06:43:51 2014
@@ -368,7 +368,7 @@ bool J3Object::isLockOwner() {
 	if(isInflated(header)) /* inflated */
 		return asMonitor(header)->isOwner(self);
 	else
-		return !isUnlocked(header) && (J3Thread*)(header & J3Thread::getThreadMask()) == self;
+		return !isUnlocked(header) && (J3Thread*)J3Thread::get((void*)header) == self;
 }
 
 /*

Modified: vmkit/branches/mcjit/lib/vmkit/allocator.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/vmkit/allocator.cc?rev=200835&r1=200834&r2=200835&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/vmkit/allocator.cc (original)
+++ vmkit/branches/mcjit/lib/vmkit/allocator.cc Wed Feb  5 06:43:51 2014
@@ -1,6 +1,7 @@
 #include "vmkit/allocator.h"
 #include "vmkit/thread.h"
 #include "vmkit/vmkit.h"
+#include "vmkit/config.h"
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
@@ -10,7 +11,6 @@ using namespace vmkit;
 
 pthread_mutex_t     ThreadAllocator::mutex;
 uintptr_t           ThreadAllocator::baseStack = 0;
-uintptr_t           ThreadAllocator::_magic = 0;
 std::vector<void*>* ThreadAllocator::spaces = 0;
 std::vector<void*>* ThreadAllocator::freeThreads = 0;
 
@@ -105,8 +105,6 @@ void ThreadAllocator::initialize(uintptr
 
 	minThreadStruct = ((minThreadStruct - 1) & -PAGE_SIZE) + PAGE_SIZE;
 	baseStack = minThreadStruct + PAGE_SIZE;
-
-	_magic = -VMKIT_STACK_SIZE;
 }
 
 void* ThreadAllocator::allocate() {

Modified: vmkit/branches/mcjit/lib/vmkit/thread.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/vmkit/thread.cc?rev=200835&r1=200834&r2=200835&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/vmkit/thread.cc (original)
+++ vmkit/branches/mcjit/lib/vmkit/thread.cc Wed Feb  5 06:43:51 2014
@@ -1,6 +1,7 @@
 #include "vmkit/thread.h"
 #include "vmkit/system.h"
 #include "vmkit/vmkit.h"
+#include "vmkit/config.h"
 
 using namespace vmkit;
 
@@ -31,7 +32,7 @@ Thread* Thread::get(void* ptr) {
 }
 
 uintptr_t Thread::getThreadMask() {
-	return ThreadAllocator::magic();
+	return -VMKIT_STACK_SIZE;
 }
 
 void Thread::registerSignalInternal(int n, sa_action_t handler, bool altStack) {





More information about the vmkit-commits mailing list