Skip to content

Commit 0225095

Browse files
committed
Merge branch 'core' into testing
2 parents 8fff86a + 3455d34 commit 0225095

File tree

7 files changed

+38
-6
lines changed

7 files changed

+38
-6
lines changed

MMTk/src/org/mmtk/plan/TraceLocal.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ public final void processEdge(ObjectReference source, Address slot) {
119119
* @param slot The location containing the object reference to be
120120
* traced. The object reference is <i>NOT</i> an interior pointer.
121121
*/
122-
@Inline
123-
public final void reportDelayedRootEdge(Address slot) {
122+
@Inline
123+
public void reportDelayedRootEdge(Address slot) {
124124
rootLocations.push(slot);
125125
}
126126

@@ -447,6 +447,8 @@ public ObjectReference retainForFinalize(ObjectReference object) {
447447
}
448448

449449
/**
450+
* OBSOLETE?
451+
*
450452
* Return true if an object is ready to move to the finalizable
451453
* queue, i.e. it has no regular references to it. This method may
452454
* (and in some cases is) be overridden by subclasses. If this method
@@ -560,7 +562,7 @@ protected void processRememberedSets() {}
560562
* it is its own responsibility to ensure that they are flushed before
561563
* returning to MMTk.
562564
*/
563-
private void assertMutatorRemsetsFlushed() {
565+
protected void assertMutatorRemsetsFlushed() {
564566
/* FIXME: PNT
565567
if (VM.VERIFY_ASSERTIONS) {
566568
for (int m = 0; m < VM.activePlan.mutatorCount(); m++) {

MMTk/src/org/mmtk/utility/heap/Map.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ public static void finalizeStaticSpaceMap() {
285285
public static boolean isFinalized() {
286286
return finalized;
287287
}
288-
288+
289289
/**
290290
* Return the ordinal number for some free list space wishing to share a discontiguous region.
291291
* @return The ordinal number for a free list space wishing to share a discontiguous region

rvm/src/org/jikesrvm/VM.java

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import org.jikesrvm.scheduler.TestThread;
4545
import org.jikesrvm.runtime.FileSystem;
4646
import org.jikesrvm.tuningfork.TraceEngine;
47+
import org.mmtk.policy.Space;
4748
import org.vmmagic.pragma.Entrypoint;
4849
import org.vmmagic.pragma.Inline;
4950
import org.vmmagic.pragma.Interruptible;

rvm/src/org/jikesrvm/classloader/RVMClass.java

+26-1
Original file line numberDiff line numberDiff line change
@@ -1248,9 +1248,34 @@ public synchronized void resolve() {
12481248
} else {
12491249
referenceOffsets = MemoryManager.newNonMovingIntArray(referenceFieldCount);
12501250
int j = 0;
1251+
// build a sorted array
12511252
for (RVMField field : instanceFields) {
12521253
if (field.isTraced()) {
1253-
referenceOffsets[j++] = field.getOffset().toInt();
1254+
int offset = field.getOffset().toInt();
1255+
if (j > 0) {
1256+
if (referenceOffsets[j-1] < offset) {
1257+
// append to array
1258+
referenceOffsets[j++] = offset;
1259+
} else {
1260+
int k, l;
1261+
// find insertion point (k)
1262+
for (k = 0; k < j; ++k) {
1263+
if (referenceOffsets[k] > offset)
1264+
break;
1265+
}
1266+
// move data away from insertion point
1267+
for (l = j; l > k; --l) {
1268+
referenceOffsets[l] = referenceOffsets[l-1];
1269+
}
1270+
// insert
1271+
referenceOffsets[k] = offset;
1272+
// increase array size
1273+
j++;
1274+
}
1275+
} else {
1276+
// first element; append to array
1277+
referenceOffsets[j++] = offset;
1278+
}
12541279
}
12551280
}
12561281
}

rvm/src/org/jikesrvm/mm/mminterface/Barriers.java

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.vmmagic.pragma.Inline;
2020
import org.vmmagic.pragma.Uninterruptible;
2121
import org.vmmagic.unboxed.Address;
22+
import org.vmmagic.unboxed.AddressArray;
2223
import org.vmmagic.unboxed.Extent;
2324
import org.vmmagic.unboxed.ObjectReference;
2425
import org.vmmagic.unboxed.Offset;

rvm/src/org/jikesrvm/objectmodel/JavaHeader.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public class JavaHeader implements JavaHeaderConstants {
7878
/** offset of object reference from the lowest memory word */
7979
public static final int OBJECT_REF_OFFSET = ARRAY_HEADER_SIZE; // from start to ref
8080
protected static final Offset TIB_OFFSET = JAVA_HEADER_OFFSET;
81-
protected static final Offset STATUS_OFFSET = TIB_OFFSET.plus(STATUS_BYTES);
81+
public static final Offset STATUS_OFFSET = TIB_OFFSET.plus(STATUS_BYTES);
8282
protected static final Offset AVAILABLE_BITS_OFFSET =
8383
VM.LittleEndian ? (STATUS_OFFSET) : (STATUS_OFFSET.plus(STATUS_BYTES - 1));
8484

rvm/src/org/jikesrvm/scheduler/RVMThread.java

+3
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import org.jikesrvm.mm.mminterface.CollectorThread;
4444
import org.jikesrvm.mm.mminterface.MemoryManager;
4545
import org.jikesrvm.mm.mminterface.ThreadContext;
46+
import org.jikesrvm.mm.mmtk.Collection;
4647
import org.jikesrvm.objectmodel.ObjectModel;
4748
import org.jikesrvm.objectmodel.ThinLockConstants;
4849
import org.jikesrvm.runtime.Entrypoints;
@@ -78,6 +79,8 @@
7879
import org.jikesrvm.classloader.NormalMethod;
7980
import org.jikesrvm.tuningfork.TraceEngine;
8081
import org.jikesrvm.tuningfork.Feedlet;
82+
import org.mmtk.plan.MutatorContext;
83+
import org.mmtk.utility.options.Options;
8184

8285
/**
8386
* A generic java thread's execution context.

0 commit comments

Comments
 (0)