[vmkit-commits] [vmkit] r83972 - in /vmkit/trunk/lib/N3/VMCore: VMArray.cpp VMObject.cpp VirtualTables.cpp
Gael Thomas
gael.thomas at lip6.fr
Tue Oct 13 08:09:19 PDT 2009
Author: gthomas
Date: Tue Oct 13 10:09:19 2009
New Revision: 83972
URL: http://llvm.org/viewvc/llvm-project?rev=83972&view=rev
Log:
Rename also vmThread in VMObject.cpp.
ArrayObject::do_print ensures that elements are gcroot.
Does not define gcroot in tracers.
Modified:
vmkit/trunk/lib/N3/VMCore/VMArray.cpp
vmkit/trunk/lib/N3/VMCore/VMObject.cpp
vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp
Modified: vmkit/trunk/lib/N3/VMCore/VMArray.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/VMArray.cpp?rev=83972&r1=83971&r2=83972&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/VMCore/VMArray.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/VMArray.cpp Tue Oct 13 10:09:19 2009
@@ -32,6 +32,18 @@
buf->write(post); \
}
-ON_ARRAY_CLASSES(DEFINE_ARRAY_PRINT)
+ON_ARRAY_PRIMITIVE_CLASSES(DEFINE_ARRAY_PRINT)
+
+void ArrayObject::do_print(const ArrayObject *self, mvm::PrintBuffer *buf) {
+ llvm_gcroot(self, 0);
+ buf->write("Array<");
+ for(int i=0; i<self->size; i++) {
+ if(i)
+ buf->write(" ");
+ declare_gcroot(VMObject*, cur) = self->elements[i];
+ buf->writeObj(cur);
+ }
+ buf->write(">");
+}
#undef DEFINE_ARRAY_PRINT
Modified: vmkit/trunk/lib/N3/VMCore/VMObject.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/VMObject.cpp?rev=83972&r1=83971&r2=83972&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/VMCore/VMObject.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/VMObject.cpp Tue Oct 13 10:09:19 2009
@@ -32,7 +32,7 @@
cur->lock->unlock();
continue;
} else {
- declare_gcroot(VMObject *, th) = cur->vmThread;
+ declare_gcroot(VMObject *, th) = cur->ooo_appThread;
if (th != 0) {
cur->varcond->signal();
cur->lock->unlock();
Modified: vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp?rev=83972&r1=83971&r2=83972&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/VirtualTables.cpp Tue Oct 13 10:09:19 2009
@@ -67,8 +67,7 @@
// internal objects
void VMThread::TRACER {
- declare_gcroot(VMObject*, appThread) = ooo_appThread;
- appThread->MARK_AND_TRACE;
+ ooo_appThread->MARK_AND_TRACE;
pendingException->MARK_AND_TRACE;
// I suppose that the vm is already traced by the gc
// vm->CALL_TRACER;
More information about the vmkit-commits
mailing list