[vmkit-commits] [vmkit] r139098 - in /vmkit/trunk: include/mvm/MethodInfo.h lib/Mvm/CommonThread/ObjectLocks.cpp lib/Mvm/Runtime/MethodInfo.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sun Sep 4 05:18:23 PDT 2011
Author: geoffray
Date: Sun Sep 4 07:18:23 2011
New Revision: 139098
URL: http://llvm.org/viewvc/llvm-project?rev=139098&view=rev
Log:
Bugfixes in the frametable iterator: on x64 not all frames were registered due to alignment problems.
Modified:
vmkit/trunk/include/mvm/MethodInfo.h
vmkit/trunk/lib/Mvm/CommonThread/ObjectLocks.cpp
vmkit/trunk/lib/Mvm/Runtime/MethodInfo.cpp
Modified: vmkit/trunk/include/mvm/MethodInfo.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/mvm/MethodInfo.h?rev=139098&r1=139097&r2=139098&view=diff
==============================================================================
--- vmkit/trunk/include/mvm/MethodInfo.h (original)
+++ vmkit/trunk/include/mvm/MethodInfo.h Sun Sep 4 07:18:23 2011
@@ -61,7 +61,7 @@
uint32_t NumCompiledFrames;
Frames* frames() const {
return reinterpret_cast<Frames*>(
- reinterpret_cast<uintptr_t>(this) + sizeof(CompiledFrames));
+ reinterpret_cast<uintptr_t>(this) + kWordSize);
}
};
Modified: vmkit/trunk/lib/Mvm/CommonThread/ObjectLocks.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/CommonThread/ObjectLocks.cpp?rev=139098&r1=139097&r2=139098&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/CommonThread/ObjectLocks.cpp (original)
+++ vmkit/trunk/lib/Mvm/CommonThread/ObjectLocks.cpp Sun Sep 4 07:18:23 2011
@@ -429,6 +429,7 @@
varcondThread.wait(&l->internalLock);
}
}
+ assert(mvm::ThinLock::owner(self, table) && "Not owner after wait");
l->waitingThreads--;
Modified: vmkit/trunk/lib/Mvm/Runtime/MethodInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Runtime/MethodInfo.cpp?rev=139098&r1=139097&r2=139098&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Runtime/MethodInfo.cpp (original)
+++ vmkit/trunk/lib/Mvm/Runtime/MethodInfo.cpp Sun Sep 4 07:18:23 2011
@@ -61,8 +61,8 @@
currentFrames = reinterpret_cast<Frames*>(
reinterpret_cast<uintptr_t>(frame) + MethodInfoHelper::FrameInfoSize(frame->NumLiveOffsets));
} else {
- currentFrames = reinterpret_cast<Frames*>(
- reinterpret_cast<uintptr_t>(currentFrames) + sizeof(Frames));
+ currentFrames = reinterpret_cast<Frames*>(System::WordAlignUp(
+ reinterpret_cast<uintptr_t>(currentFrames) + sizeof(Frames)));
}
}
}
More information about the vmkit-commits
mailing list