diff -rupN --exclude=.project --exclude=.svn --exclude=.classpath --exclude=.settings --exclude=CVS --exclude=.hg --exclude=.hgignore --exclude=.hgtags --exclude=eclipse --exclude=components --exclude=target --exclude=dist --exclude=generated jikes-mercurial/jikesrvm/MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Memory.java jikes-patch/jikesrvm/MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Memory.java --- jikes-mercurial/jikesrvm/MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Memory.java 2015-03-03 17:58:41.270619219 -0500 +++ jikes-patch/jikesrvm/MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/Memory.java 2015-03-26 18:16:43.375501104 -0400 @@ -12,23 +12,24 @@ */ package org.jikesrvm.mm.mmtk; -import static org.jikesrvm.HeapLayoutConstants.BOOT_IMAGE_CODE_END; import static org.jikesrvm.HeapLayoutConstants.BOOT_IMAGE_DATA_START; import static org.jikesrvm.HeapLayoutConstants.MAXIMUM_MAPPABLE; - import static org.mmtk.utility.Constants.LOG_BYTES_IN_MBYTE; -import org.mmtk.policy.ImmortalSpace; -import org.mmtk.utility.heap.VMRequest; - +import org.jikesrvm.HeapLayoutConstants; +import org.jikesrvm.SizeConstants; import org.jikesrvm.VM; +import org.jikesrvm.objectmodel.JavaHeader; import org.jikesrvm.runtime.BootRecord; import org.jikesrvm.runtime.Magic; -import org.jikesrvm.objectmodel.JavaHeader; -import org.jikesrvm.SizeConstants; - -import org.vmmagic.unboxed.*; -import org.vmmagic.pragma.*; +import org.mmtk.policy.ImmortalSpace; +import org.mmtk.policy.Space; +import org.mmtk.utility.heap.VMRequest; +import org.vmmagic.pragma.Inline; +import org.vmmagic.pragma.Interruptible; +import org.vmmagic.pragma.Uninterruptible; +import org.vmmagic.unboxed.Address; +import org.vmmagic.unboxed.Extent; @Uninterruptible public class Memory extends org.mmtk.vm.Memory { @@ -37,7 +38,7 @@ import org.vmmagic.pragma.*; @Override protected final Address getHeapEndConstant() { return MAXIMUM_MAPPABLE; } @Override - protected final Address getAvailableStartConstant() { return BOOT_IMAGE_CODE_END; } + protected final Address getAvailableStartConstant() { return HeapLayoutConstants.BOOT_IMAGE_END; } @Override protected final Address getAvailableEndConstant() { return MAXIMUM_MAPPABLE; } @Override @@ -61,8 +62,9 @@ import org.vmmagic.pragma.*; /* FIXME the following was established via trial and error :-( */ // private static int BOOT_SEGMENT_MB = 4+(BOOT_IMAGE_SIZE.toInt()>>LOG_BYTES_IN_MBYTE); - private static int BOOT_SEGMENT_MB = (0x10000000>>LOG_BYTES_IN_MBYTE); - + //private static int BOOT_SEGMENT_MB = (0x10000000>>LOG_BYTES_IN_MBYTE); + private static int BOOT_SEGMENT_MB = org.jikesrvm.runtime.Memory.alignUp(HeapLayoutConstants.BOOT_IMAGE_END.diff(BOOT_IMAGE_DATA_START).toInt(), Space.BYTES_IN_CHUNK) >>> LOG_BYTES_IN_MBYTE; + /** * Return the space associated with/reserved for the VM. In the * case of Jikes RVM this is the boot image space.
diff -rupN --exclude=.project --exclude=.svn --exclude=.classpath --exclude=.settings --exclude=CVS --exclude=.hg --exclude=.hgignore --exclude=.hgtags --exclude=eclipse --exclude=components --exclude=target --exclude=dist --exclude=generated jikes-mercurial/jikesrvm/rvm/src-generated/vm-configuration/HeapLayoutConstants.template jikes-patch/jikesrvm/rvm/src-generated/vm-configuration/HeapLayoutConstants.template --- jikes-mercurial/jikesrvm/rvm/src-generated/vm-configuration/HeapLayoutConstants.template 2015-03-03 17:58:41.613620208 -0500 +++ jikes-patch/jikesrvm/rvm/src-generated/vm-configuration/HeapLayoutConstants.template 2015-03-26 17:25:43.131469657 -0400 @@ -36,10 +36,10 @@ public final class HeapLayoutConstants { Address.@_ADDRESS_METHOD_@( @_MAXIMUM_MAPPABLE_ADDRESS_@ ); /** The maximum boot image data size */ - public static final int BOOT_IMAGE_DATA_SIZE = 56<<20; + public static final int BOOT_IMAGE_DATA_SIZE = (BOOT_IMAGE_CODE_START.diff(BOOT_IMAGE_DATA_START).toInt()); /** The maximum boot image code size */ - public static final int BOOT_IMAGE_CODE_SIZE = 24<<20; + public static final int BOOT_IMAGE_CODE_SIZE = (BOOT_IMAGE_RMAP_START.diff(BOOT_IMAGE_CODE_START).toInt()); /* Typical compression ratio is about 1/20 */ public static final int BAD_MAP_COMPRESSION = 5; // conservative heuristic