All,
I just committed mods that allow MMTk marksweep configuration to run
the simple tests in test.java.
There were some workarounds in MMTk code itself. It does not make
sense to commit these workarounds to drlvm/trunk or to put them in
JIRA. Instead, I told Steve Blackburn what the MMTk porting problems
are.
For the record the MMTk mods are:
1)
SegregatedFreeList.java wants to use vmmagic atomic operations even in
single java thread app. But vmmagic atomic ops are not fully
functional in Jitrino.JET just yet. The workaround is to do a simple
write to memory instead of CAS. The mods to SegregatedFreeList.java
are:
731a732
atomic = false; //wjw hack around Addresss.attempt bug
2)
MMType.getSlot() is hard coded to assume that element zero is an
"Offset" of zero from the vtable ptr. While this may indeed be the
case for JikesRVM, in DRLVM the offset is 12. The diff to MMType.java
is:
83,86c83,86
< if (isReferenceArray)
< return addr.plus(arrayOffset).plus(reference << LOG_BYTES_IN_ADDRESS);
< else
< return addr.plus(offsets[reference]);
---
if (isReferenceArray)
return addr.plus(12).plus(reference << LOG_BYTES_IN_ADDRESS); // return
addr.plus(arrayOffset).plus(reference << LOG_BYTES_IN_ADDRESS);
else
return addr.plus(offsets[reference]);
--
Weldon Washburn
Intel Middleware Products Division
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]