Revision: 15742
http://jikesrvm.svn.sourceforge.net/jikesrvm/?rev=15742&view=revAuthor: rgarner
Date: 2009-07-23 07:38:54 +0000 (Thu, 23 Jul 2009)
Log Message:
-----------
Use the correct read barrier
Modified Paths:
--------------
rvmroot/trunk/MMTk/harness/src/org/mmtk/harness/sanity/Traversal.java
Modified: rvmroot/trunk/MMTk/harness/src/org/mmtk/harness/sanity/Traversal.java
===================================================================
--- rvmroot/trunk/MMTk/harness/src/org/mmtk/harness/sanity/Traversal.java 2009-07-23 07:29:14 UTC (rev 15741)
+++ rvmroot/trunk/MMTk/harness/src/org/mmtk/harness/sanity/Traversal.java 2009-07-23 07:38:54 UTC (rev 15742)
@@ -25,8 +25,6 @@
import org.mmtk.harness.lang.runtime.ObjectValue;
import org.mmtk.harness.vm.ActivePlan;
import org.mmtk.harness.vm.ObjectModel;
-import org.mmtk.plan.MutatorContext;
-import org.mmtk.plan.Plan;
import org.vmmagic.unboxed.Address;
import org.vmmagic.unboxed.ObjectReference;
@@ -38,8 +36,6 @@
private static final boolean VERBOSE = true;
- private static final MutatorContext mutatorContext = Mutator.createMutatorContext();
-
/**
* Traverse the heap. This is the only public method in the class
* @param visitor The heap visitor
@@ -72,7 +68,7 @@
}
for (int i=0; i < ObjectModel.getRefs(object); i++) {
Address slot = ObjectModel.getRefSlot(object, i);
- ObjectReference ref = loadReferenceSlot(object, slot);
+ ObjectReference ref = loadReferenceSlot(slot);
if (!ref.isNull()) {
visitor.visitPointer(object, slot, ref);
traceObject(ref,false);
@@ -80,9 +76,9 @@
}
}
- private ObjectReference loadReferenceSlot(ObjectReference object, Address slot) {
- if (ActivePlan.constraints.needsReadBarrier() && Harness.sanityUsesReadBarrier.getValue()) {
- return mutatorContext.readBarrier(object, slot, null, null, Plan.GETFIELD_READ_BARRIER);
+ private ObjectReference loadReferenceSlot(Address slot) {
+ if (Harness.sanityUsesReadBarrier.getValue()) {
+ return ActivePlan.plan.loadObjectReference(slot);
}
return slot.loadObjectReference();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
Jikesrvm-commits mailing list
Jikesrvm-commits@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-commits