[vmkit-commits] [vmkit] r84139 - in /vmkit/trunk/lib/N3: Mono/MonoMSCorlib.cpp PNetLib/PNetLib.cpp PNetLib/PNetMSCorlib.cpp VMCore/Assembly.h VMCore/VirtualTables.cpp
Gael Thomas
gael.thomas at lip6.fr
Wed Oct 14 14:26:20 PDT 2009
Author: gthomas
Date: Wed Oct 14 16:26:20 2009
New Revision: 84139
URL: http://llvm.org/viewvc/llvm-project?rev=84139&view=rev
Log:
Safe access to Assembly::delegatee
Modified:
vmkit/trunk/lib/N3/Mono/MonoMSCorlib.cpp
vmkit/trunk/lib/N3/PNetLib/PNetLib.cpp
vmkit/trunk/lib/N3/PNetLib/PNetMSCorlib.cpp
vmkit/trunk/lib/N3/VMCore/Assembly.h
vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp
Modified: vmkit/trunk/lib/N3/Mono/MonoMSCorlib.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/Mono/MonoMSCorlib.cpp?rev=84139&r1=84138&r2=84139&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/Mono/MonoMSCorlib.cpp (original)
+++ vmkit/trunk/lib/N3/Mono/MonoMSCorlib.cpp Wed Oct 14 16:26:20 2009
@@ -156,6 +156,7 @@
}
VMObject* Assembly::getAssemblyDelegatee() {
+ declare_gcroot(VMObject*, delegatee) = ooo_delegatee;
if (!delegatee) {
VMThread::get()->getVM()->error("implement me");
}
Modified: vmkit/trunk/lib/N3/PNetLib/PNetLib.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/PNetLib/PNetLib.cpp?rev=84139&r1=84138&r2=84139&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/PNetLib/PNetLib.cpp (original)
+++ vmkit/trunk/lib/N3/PNetLib/PNetLib.cpp Wed Oct 14 16:26:20 2009
@@ -514,7 +514,8 @@
vm->error("unfound assembly %s\n", mvm::PrintBuffer(str->value).cString());
error = 0;
- return ass->getAssemblyDelegatee();
+ declare_gcroot(VMObject*, delegatee) = ass->getAssemblyDelegatee();
+ return delegatee;
}
extern "C" PNetString* System_String_Concat_2(PNetString* str1, PNetString* str2) {
Modified: vmkit/trunk/lib/N3/PNetLib/PNetMSCorlib.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/PNetLib/PNetMSCorlib.cpp?rev=84139&r1=84138&r2=84139&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/PNetLib/PNetMSCorlib.cpp (original)
+++ vmkit/trunk/lib/N3/PNetLib/PNetMSCorlib.cpp Wed Oct 14 16:26:20 2009
@@ -159,6 +159,8 @@
}
VMObject* Assembly::getAssemblyDelegatee() {
+ declare_gcroot(VMObject*, delegatee) = ooo_delegatee;
+
if (!delegatee) {
delegatee = (*MSCorlib::assemblyReflection)();
(*MSCorlib::ctorAssemblyReflection)(delegatee);
Modified: vmkit/trunk/lib/N3/VMCore/Assembly.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/Assembly.h?rev=84139&r1=84138&r2=84139&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/VMCore/Assembly.h (original)
+++ vmkit/trunk/lib/N3/VMCore/Assembly.h Wed Oct 14 16:26:20 2009
@@ -175,7 +175,7 @@
Section* rsrcSection;
Section* relocSection;
Header* CLIHeader;
- VMObject* delegatee;
+ VMObject* ooo_delegatee;
Assembly** assemblyRefs;
uint32 CLIHeaderLocation;
Modified: vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp?rev=84139&r1=84138&r2=84139&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp Wed Oct 14 16:26:20 2009
@@ -63,7 +63,7 @@
void Assembly::TRACER {
loadedNameClasses->CALL_TRACER;
- delegatee->MARK_AND_TRACE;
+ ooo_delegatee->MARK_AND_TRACE;
}
void VMCommonClass::TRACER {
More information about the vmkit-commits
mailing list