SF.net SVN: jikesrvm:[15742] rvmroot/trunk/MMTk/harness/src/org/mmtk/ harness/sanity/Traversal.java

View: New views
1 Messages — Rating Filter:   Alert me  

SF.net SVN: jikesrvm:[15742] rvmroot/trunk/MMTk/harness/src/org/mmtk/ harness/sanity/Traversal.java

by rgarner :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Revision: 15742
          http://jikesrvm.svn.sourceforge.net/jikesrvm/?rev=15742&view=rev
Author:   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