[vmkit-commits] [vmkit] r85219 - /vmkit/trunk/lib/Mvm/Runtime/Object.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Tue Oct 27 02:15:55 PDT 2009
Author: geoffray
Date: Tue Oct 27 04:15:55 2009
New Revision: 85219
URL: http://llvm.org/viewvc/llvm-project?rev=85219&view=rev
Log:
Finlization and Reference queues are roots.
Modified:
vmkit/trunk/lib/Mvm/Runtime/Object.cpp
Modified: vmkit/trunk/lib/Mvm/Runtime/Object.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Runtime/Object.cpp?rev=85219&r1=85218&r2=85219&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Runtime/Object.cpp (original)
+++ vmkit/trunk/lib/Mvm/Runtime/Object.cpp Tue Oct 27 04:15:55 2009
@@ -177,8 +177,7 @@
gc* obj = FinalizationQueue[i];
if (!Collector::isLive(obj)) {
- Collector::markAndTrace((void*)&FinalizationQueue,
- (void**)(FinalizationQueue + i));
+ Collector::markAndTraceRoot(FinalizationQueue + i);
if (CurrentFinalizedIndex >= ToBeFinalizedLength)
growToBeFinalizedQueue();
@@ -192,8 +191,7 @@
CurrentIndex = NewIndex;
for (uint32 i = 0; i < CurrentFinalizedIndex; ++i) {
- Collector::markAndTrace((void*)&ToBeFinalized,
- (void**)(ToBeFinalized + i));
+ Collector::markAndTraceRoot(ToBeFinalized + i);
}
}
@@ -203,14 +201,14 @@
return 0;
}
- gc** referent = vm->getReferent(reference);
+ gc** referent = vm->getReferentPtr(reference);
if (!referent) return 0;
if (semantics == SOFT) {
// TODO: are we are out of memory? Consider that we always are for now.
if (false) {
- Collector::markAndTrace((void*)reference, (void**)referent);
+ Collector::markAndTrace(reference, referent);
}
} else if (semantics == PHANTOM) {
// Nothing to do.
More information about the vmkit-commits
mailing list