[vmkit-commits] [vmkit] r121255 - in /vmkit/branches/multi-vm: lib/Mvm/CommonThread/ObjectLocks.cpp mmtk/mmtk-j3/ObjectModel.cpp
Gael Thomas
gael.thomas at lip6.fr
Wed Dec 8 05:48:43 PST 2010
Author: gthomas
Date: Wed Dec 8 07:48:43 2010
New Revision: 121255
URL: http://llvm.org/viewvc/llvm-project?rev=121255&view=rev
Log:
ObjectLocks and ObjectModel are using the virtual table to find the vm instead of using the thread
Modified:
vmkit/branches/multi-vm/lib/Mvm/CommonThread/ObjectLocks.cpp
vmkit/branches/multi-vm/mmtk/mmtk-j3/ObjectModel.cpp
Modified: vmkit/branches/multi-vm/lib/Mvm/CommonThread/ObjectLocks.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/Mvm/CommonThread/ObjectLocks.cpp?rev=121255&r1=121254&r2=121255&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/Mvm/CommonThread/ObjectLocks.cpp (original)
+++ vmkit/branches/multi-vm/lib/Mvm/CommonThread/ObjectLocks.cpp Wed Dec 8 07:48:43 2010
@@ -348,7 +348,7 @@
FatLock** tab = LockTable[index >> BitIndex];
- VirtualMachine* vm = mvm::Thread::get()->MyVM;
+ VirtualMachine* vm = obj->getVirtualTable()->vm;
if (tab == NULL) {
tab = (FatLock**)vm->allocator.Allocate(
IndexSize * sizeof(FatLock*), "Index LockTable");
Modified: vmkit/branches/multi-vm/mmtk/mmtk-j3/ObjectModel.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/mmtk/mmtk-j3/ObjectModel.cpp?rev=121255&r1=121254&r2=121255&view=diff
==============================================================================
--- vmkit/branches/multi-vm/mmtk/mmtk-j3/ObjectModel.cpp (original)
+++ vmkit/branches/multi-vm/mmtk/mmtk-j3/ObjectModel.cpp Wed Dec 8 07:48:43 2010
@@ -85,7 +85,7 @@
extern "C" uintptr_t Java_org_j3_mmtk_ObjectModel_copy__Lorg_vmmagic_unboxed_ObjectReference_2I (
MMTkObject* OM, mvm::gc* src, int allocator) {
- size_t size = mvm::Thread::get()->MyVM->getObjectSize(src);
+ size_t size = src->getVirtualTable()->vm->getObjectSize(src);
size = llvm::RoundUpToAlignment(size, sizeof(void*));
uintptr_t res = JnJVM_org_j3_bindings_Bindings_copy__Lorg_vmmagic_unboxed_ObjectReference_2Lorg_vmmagic_unboxed_ObjectReference_2II(
src, src->getVirtualTable(), size, allocator);
@@ -137,7 +137,7 @@
extern "C" FakeByteArray* Java_org_j3_mmtk_ObjectModel_getTypeDescriptor__Lorg_vmmagic_unboxed_ObjectReference_2 (
MMTkObject* OM, mvm::gc* src) {
- const char* name = mvm::Thread::get()->MyVM->getObjectTypeName(src);
+ const char* name = src->getVirtualTable()->vm->getObjectTypeName(src);
// This code is only used for debugging on a fatal error. It is fine to
// allocate in the C++ heap.
return new (strlen(name)) FakeByteArray(name);
More information about the vmkit-commits
mailing list