Revision: 15739
http://jikesrvm.svn.sourceforge.net/jikesrvm/?rev=15739&view=revAuthor: rgarner
Date: 2009-07-23 07:25:11 +0000 (Thu, 23 Jul 2009)
Log Message:
-----------
Use the GC-time read barrier when dumping the heap
Modified Paths:
--------------
rvmroot/trunk/MMTk/ext/vm/harness/org/mmtk/harness/vm/ObjectModel.java
Modified: rvmroot/trunk/MMTk/ext/vm/harness/org/mmtk/harness/vm/ObjectModel.java
===================================================================
--- rvmroot/trunk/MMTk/ext/vm/harness/org/mmtk/harness/vm/ObjectModel.java 2009-07-23 02:15:57 UTC (rev 15738)
+++ rvmroot/trunk/MMTk/ext/vm/harness/org/mmtk/harness/vm/ObjectModel.java 2009-07-23 07:25:11 UTC (rev 15739)
@@ -437,6 +437,7 @@
* @param to The region to be copied to.
* @return The resulting reference.
*/
+ @Override
public ObjectReference getReferenceWhenCopiedTo(ObjectReference from, Address to) {
return to.toObjectReference();
}
@@ -448,6 +449,7 @@
* @param object The object whose size is to be queried
* @return The size required to copy <code>obj</code>
*/
+ @Override
public int getSizeWhenCopied(ObjectReference object) {
return getCopiedSize(object);
}
@@ -458,6 +460,7 @@
* @param object The object whose size is to be queried
* @return The alignment required for a copy of <code>obj</code>
*/
+ @Override
public int getAlignWhenCopied(ObjectReference object) {
boolean doubleAlign = (object.toAddress().loadInt(STATUS_OFFSET) & DOUBLE_ALIGN) == DOUBLE_ALIGN;
return (doubleAlign ? 2 : 1) * MemoryConstants.BYTES_IN_WORD;
@@ -469,6 +472,7 @@
* @param object The object whose size is to be queried
* @return The alignment offset required for a copy of <code>obj</code>
*/
+ @Override
public int getAlignOffsetWhenCopied(ObjectReference object) {
return 0;
}
@@ -479,6 +483,7 @@
* @param object The object whose size is to be queried
* @return The size of <code>obj</code>
*/
+ @Override
public int getCurrentSize(ObjectReference object) {
return getSize(object);
}
@@ -757,7 +762,7 @@
System.err.printf(" Object %s <%d %d %1s> [", ObjectModel.formatObject(width, object), refCount, dataCount, (hashed ? "H" : ""));
if (refCount > 0) {
for(int i=0; i < refCount; i++) {
- ObjectReference ref = getRefSlot(object, i).loadObjectReference();
+ ObjectReference ref = ActivePlan.plan.loadObjectReference(getRefSlot(object, i));
System.err.print(" ");
System.err.print(ObjectModel.formatObject(width, ref));
if (!ref.isNull()) {
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