Package | Description |
---|---|
org.jikesrvm | |
org.jikesrvm.classloader |
Provides classes that implement the classloading system as well as
data types that represent Java entities like classes, fields, methods
and primitives.
|
org.jikesrvm.compilers.opt.ir.operand | |
org.jikesrvm.mm.mminterface | |
org.jikesrvm.mm.mmtk | |
org.jikesrvm.objectmodel | |
org.jikesrvm.options | |
org.jikesrvm.runtime | |
org.jikesrvm.util |
Provides utility classes and implementations of data structures suitable
for core runtime classes.
|
org.mmtk.plan | |
org.mmtk.plan.semispace.usePrimitiveWriteBarriers | |
org.mmtk.policy | |
org.mmtk.policy.immix | |
org.mmtk.utility | |
org.mmtk.utility.alloc | |
org.mmtk.utility.gcspy.drivers | |
org.mmtk.utility.heap | |
org.mmtk.vm |
Provides classes that specify the interface between MMTk and the VM.
|
org.vmmagic.unboxed | |
org.vmutil.options |
Modifier and Type | Method and Description |
---|---|
static void |
VM.sysWrite(Extent e) |
static void |
VM.sysWriteln(Extent e) |
static void |
VM.write(Extent addr) |
static void |
VM.writeHex(Extent value) |
Modifier and Type | Method and Description |
---|---|
Extent |
RVMField.getExtentValueUnchecked(Object obj) |
Modifier and Type | Method and Description |
---|---|
void |
RVMField.setExtentValueUnchecked(Object obj,
Extent ref) |
Constructor and Description |
---|
AddressConstantOperand(Extent v)
Constructs a new address constant operand with the specified offset value.
|
Modifier and Type | Method and Description |
---|---|
static Extent |
Barriers.extentFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of Extents from fields of instances (i.e. getfield).
|
static Extent |
MemoryManager.freeMemory()
Returns the amount of free memory.
|
static Extent |
MemoryManager.getMaxHeapSize()
Return the max heap size in bytes (as set by -Xmx).
|
static Extent |
MemoryManager.maxMemory()
Returns the maximum amount of memory VM will attempt to use.
|
static Extent |
MemoryManager.totalMemory()
Returns the amount of total memory.
|
Modifier and Type | Method and Description |
---|---|
static void |
Barriers.extentFieldWrite(Object ref,
Extent value,
Offset offset,
int locationMetadata)
Barrier for writes of Extents into fields of instances (i.e. putfield).
|
Modifier and Type | Method and Description |
---|---|
Extent |
Barriers.extentRead(ObjectReference ref,
Word offset,
Word location,
int mode)
Perform the actual read of the read barrier, returning the value as a raw Extent.
|
Modifier and Type | Method and Description |
---|---|
void |
Barriers.extentWrite(ObjectReference ref,
Extent target,
Word offset,
Word location,
int mode)
Perform the actual write of the write barrier, writing the value as a raw Extent.
|
void |
MMTk_Events.heapSizeChanged(Extent heapSize) |
void |
Memory.zero(boolean useNT,
Address start,
Extent len) |
Modifier and Type | Method and Description |
---|---|
static void |
ObjectModel.fillAlignmentGap(BootImageInterface bootImage,
Address address,
Extent size)
Fills an alignment gap with the alignment value
|
Modifier and Type | Method and Description |
---|---|
protected Extent |
OptionSet.pagesToBytes(int pages) |
Modifier and Type | Method and Description |
---|---|
protected int |
OptionSet.bytesToPages(Extent bytes) |
Modifier and Type | Field and Description |
---|---|
Extent |
BootRecord.bytesInPage
size of a virtual memory page in bytes
|
Extent |
BootRecord.initialHeapSize
initial size of heap
|
Extent |
BootRecord.maximumHeapSize
maximum size of heap
|
Modifier and Type | Method and Description |
---|---|
static Extent |
Magic.getExtentAtOffset(Object object,
Offset offset)
Get Extent at arbitrary (byte) offset from object.
|
static Extent |
Magic.getExtentAtOffset(Object object,
Offset offset,
int locationMetadata)
Get Extent at arbitrary (byte) offset from object.
|
Modifier and Type | Method and Description |
---|---|
static Address |
Memory.dzmmap(Address address,
Extent size)
Do mmap demand zero fixed address memory mapping call
|
static boolean |
Memory.isPageMultiple(Extent val) |
static void |
Memory.memcopy(Address dst,
Address src,
Extent cnt)
Copies a region of memory.
|
static Address |
Memory.mmap(Address address,
Extent size,
int prot,
int flags)
Do generic mmap non-file memory mapping call
|
static boolean |
Memory.mprotect(Address address,
Extent size,
int prot)
Do mprotect system call
|
static void |
Magic.setExtentAtOffset(Object object,
Offset offset,
Extent newvalue)
Set Extent at arbitrary (byte) offset from object.
|
static void |
Magic.setExtentAtOffset(Object object,
Offset offset,
Extent newvalue,
int locationMetadata)
Set Extent at arbitrary (byte) offset from object.
|
static void |
Memory.setPageSize(Extent pageSizeFromBootRecord)
Sets the page size.
|
static void |
Statics.setSlotContents(Offset offset,
Extent value)
Set contents of a slot, as a Extent
|
abstract void |
SysCall.sysCopy(Address dst,
Address src,
Extent cnt)
Copies memory.
|
abstract void |
SysCall.sysMemmove(Address dst,
Address src,
Extent cnt)
Copies memory without making any assumptions about the memory areas.
|
abstract Address |
SysCall.sysMMap(Address start,
Extent length,
int protection,
int flags,
int fd,
Offset offset) |
abstract Address |
SysCall.sysMMapErrno(Address start,
Extent length,
int protection,
int flags,
int fd,
Offset offset) |
abstract int |
SysCall.sysMProtect(Address start,
Extent length,
int prot) |
abstract void |
SysCall.sysZero(Address dst,
Extent cnt) |
abstract void |
SysCall.sysZeroNT(Address dst,
Extent cnt) |
static void |
Memory.zero(boolean useNT,
Address start,
Extent len)
Zero a region of memory.
|
Modifier and Type | Field and Description |
---|---|
private Extent |
AddressInputStream.length
Length of the memory region
|
private Extent |
AddressInputStream.markOffset
Mark offset.
|
private Extent |
AddressInputStream.offset
Offset to be read.
|
Constructor and Description |
---|
AddressInputStream(Address startAddress,
Extent length) |
Modifier and Type | Method and Description |
---|---|
static Extent |
Plan.availableMemory()
Return the amount of available memory, in bytes.
|
Extent |
MutatorContext.extentRead(ObjectReference src,
Address slot,
Word metaDataA,
Word metaDataB,
int mode)
Read an Extent.
|
static Extent |
Plan.freeMemory()
Return the amount of free memory, in bytes (where free is
defined as not in use).
|
static Extent |
Plan.reservedMemory()
Return the amount of memory in use, in bytes.
|
static Extent |
Plan.totalMemory()
Return the total amount of memory managed to the memory
management system, in bytes.
|
static Extent |
Plan.usedMemory()
Return the amount of memory in use, in bytes.
|
Modifier and Type | Method and Description |
---|---|
void |
MutatorContext.extentWrite(ObjectReference src,
Address slot,
Extent value,
Word metaDataA,
Word metaDataB,
int mode)
Write an Extent.
|
Modifier and Type | Method and Description |
---|---|
void |
UsePrimitiveWriteBarriersMutator.extentWrite(ObjectReference src,
Address slot,
Extent value,
Word metaDataA,
Word metaDataB,
int mode)
Write an Extent.
|
Modifier and Type | Field and Description |
---|---|
static Extent |
Space.AVAILABLE_BYTES |
protected Extent |
Space.extent |
private static Extent |
SegregatedFreeListSpace.LIVE_WORD_STRIDE |
private static Extent |
SegregatedFreeListSpace.META_DATA_OFFSET |
Modifier and Type | Method and Description |
---|---|
static Extent |
Space.chunkAlign(Extent bytes,
boolean down)
Align an extent to a space chunk
|
Extent |
Space.getExtent() |
static Extent |
Space.getFracAvailable(float frac)
Convert a fraction into a number of bytes according to the
fraction of available bytes.
|
Extent |
BaseLargeObjectSpace.getSize(Address first)
Return the size of the super page
|
protected Extent |
MarkCompactLocal.maximumRegionSize() |
Modifier and Type | Method and Description |
---|---|
static Extent |
Space.chunkAlign(Extent bytes,
boolean down)
Align an extent to a space chunk
|
protected void |
SegregatedFreeListSpace.clearBlockMark(Address block,
Extent blockSize)
Clear block marks for a block
|
protected boolean |
SegregatedFreeListSpace.containsLiveCell(Address block,
Extent blockSize,
boolean clearMarks)
Does this block contain any live cells.
|
void |
Space.growSpace(Address start,
Extent bytes,
boolean newChunk)
This hook is called by page resources each time a space grows.
|
protected Address |
SegregatedFreeListSpace.sweepBlock(Address block,
int sizeClass,
Extent blockSize,
Address availableHead,
boolean clearMarks)
Sweeps a block, freeing it and adding to the list given by availableHead
if it contains no free objects.
|
Modifier and Type | Method and Description |
---|---|
void |
ImmixSpace.growSpace(Address start,
Extent bytes,
boolean newChunk) |
Modifier and Type | Field and Description |
---|---|
private Extent |
SimpleHashtable.entrySize
The size of each entry in the table
|
private Extent |
SimpleHashtable.size
The full size of the table
|
Modifier and Type | Method and Description |
---|---|
static Extent |
Conversions.pagesToBytes(int pages) |
static Extent |
Conversions.roundDownMB(Extent bytes) |
Modifier and Type | Method and Description |
---|---|
private static void |
Memory.assertAligned(Extent value) |
static int |
Conversions.bytesToMmapChunksUp(Extent bytes) |
static int |
Conversions.bytesToPages(Extent bytes) |
static int |
Conversions.bytesToPagesUp(Extent bytes) |
static Extent |
Conversions.roundDownMB(Extent bytes) |
static void |
Log.write(Extent e)
writes an extent, in hexadecimal.
|
static void |
Log.writeln(Extent e)
writes an extent, in hexadecimal, and a new-line, then flushes the buffer.
|
static void |
Log.writeln(Extent e,
boolean flush)
writes an extent, in hexadecimal, and a new-line, then optionally
flushes the buffer.
|
static void |
Memory.zero(Address start,
Extent bytes)
Zero a region of memory
|
static void |
Memory.zeroSmall(Address start,
Extent bytes)
Zero a small region of memory
|
Constructor and Description |
---|
SimpleHashtable(RawPageSpace rps,
int logSize,
Extent es)
Create a new data table of a specified size.
|
Modifier and Type | Field and Description |
---|---|
static Extent |
BlockAllocator.META_DATA_EXTENT |
Modifier and Type | Method and Description |
---|---|
static Extent |
EmbeddedMetaData.getMetaDataOffset(Address address,
int logCoverage,
int logAlign)
Given an address, the density (coverage) of a meta data type, and
the granularity (alignment) of the meta data, return the offset
into the meta data the address.
|
protected Extent |
BumpPointer.maximumRegionSize()
Maximum size of a single region.
|
Modifier and Type | Method and Description |
---|---|
private void |
BumpPointer.updateMetaData(Address start,
Extent size,
int bytes)
Update the metadata to reflect the addition of a new region.
|
Modifier and Type | Method and Description |
---|---|
protected int |
AbstractDriver.countTileNum(Extent extent,
int tileSize)
Count number of tiles in an address range.
|
void |
AbstractDriver.setRange(Address start,
Extent extent)
Indicate the limits of a space.
|
Modifier and Type | Field and Description |
---|---|
private static Extent |
HeapGrowthManager.currentHeapSize
The current heap size in bytes
|
Extent |
VMRequest.extent |
private static Extent |
HeapGrowthManager.initialHeapSize
The initial heap size (-Xms) in bytes
|
private static Extent |
HeapGrowthManager.maxHeapSize
The maximum heap size (-Xms) in bytes
|
Modifier and Type | Method and Description |
---|---|
static Extent |
Map.getContiguousRegionSize(Address start)
Return the size of a contiguous region in bytes.
|
static Extent |
HeapGrowthManager.getCurrentHeapSize() |
static Extent |
HeapGrowthManager.getInitialHeapSize()
Return the initial heap size in bytes (as set by -Xms).
|
static Extent |
HeapGrowthManager.getMaxHeapSize()
Return the max heap size in bytes (as set by -Xmx).
|
Extent |
FreeListPageResource.getSize(Address first)
Return the size of the super page
|
Modifier and Type | Method and Description |
---|---|
static void |
HeapGrowthManager.boot(Extent initial,
Extent max)
Initialize heap size parameters and the mechanisms
used to adaptively change heap size.
|
static VMRequest |
VMRequest.fixed(Address start,
Extent extent)
A request for an explicit region of memory
|
static VMRequest |
VMRequest.fixedExtent(Extent extent,
boolean top)
A request for a number of bytes of memory, optionally requesting the highest available.
|
static void |
Map.insert(Address start,
Extent extent,
int descriptor,
Space space)
Insert a space and its descriptor into the map, associating it
with a particular address range.
|
static void |
HeapGrowthManager.overrideGrowHeapSize(Extent size)
Forcibly grow the heap by the given number of bytes.
|
private void |
MonotonePageResource.releasePages(Address first,
Extent bytes)
Releases a range of pages associated with this page resource, optionally
zeroing on release and optionally memory protecting on release.
|
private void |
FreeListPageResource.reserveMetaData(Extent extent)
Reserve virtual address space for meta-data.
|
Constructor and Description |
---|
FreeListPageResource(Space space,
Address start,
Extent bytes)
Constructor
Contiguous free list resource.
|
FreeListPageResource(Space space,
Address start,
Extent bytes,
int metaDataPagesPerRegion)
Constructor
Contiguous free list resource.
|
MonotonePageResource(Space space,
Address start,
Extent bytes,
int metaDataPagesPerRegion)
Constructor
Contiguous monotone resource.
|
VMRequest(int type,
Address start,
Extent bytes,
float frac,
boolean top) |
Modifier and Type | Method and Description |
---|---|
abstract Extent |
Barriers.extentRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of the read barrier, returning the value as a raw Extent.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
Barriers.extentWrite(ObjectReference ref,
Extent target,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of the write barrier, writing the value as a raw Extent.
|
abstract void |
MMTk_Events.heapSizeChanged(Extent heapSize) |
abstract void |
Memory.zero(boolean useNT,
Address start,
Extent len)
Zero a region of memory.
|
Modifier and Type | Method and Description |
---|---|
static Extent |
Extent.fromIntSignExtend(int address) |
static Extent |
Extent.fromIntZeroExtend(int address) |
Extent |
ExtentArray.get(int index) |
static Extent |
Extent.max() |
Extent |
Extent.minus(Extent byteSize) |
Extent |
Extent.minus(int byteSize) |
static Extent |
Extent.one() |
Extent |
Extent.plus(Extent byteSize) |
Extent |
Extent.plus(int byteSize) |
Extent |
Word.toExtent() |
static Extent |
Extent.zero() |
Modifier and Type | Method and Description |
---|---|
boolean |
Extent.EQ(Extent extent2) |
boolean |
Extent.GE(Extent extent2) |
boolean |
Extent.GT(Extent extent2) |
boolean |
Extent.LE(Extent extent2) |
boolean |
Extent.LT(Extent extent2) |
Word |
Word.minus(Extent w2)
Subtract an extent from a word.
|
Address |
Address.minus(Extent extent)
Subtract an
Extent from this Address , and
return the result. |
Extent |
Extent.minus(Extent byteSize) |
boolean |
Extent.NE(Extent extent2) |
Word |
Word.plus(Extent w2)
Add an extent to a word
|
Address |
Address.plus(Extent extent)
Add an
Extent to this Address , and
return the sum. |
Extent |
Extent.plus(Extent byteSize) |
void |
ExtentArray.set(int index,
Extent v) |
Modifier and Type | Method and Description |
---|---|
Extent |
PagesOption.getBytes()
Read the current value of the option in bytes.
|
Extent |
PagesOption.getDefaultBytes()
Read the default value of the option in bytes.
|
protected abstract Extent |
OptionSet.pagesToBytes(int pages)
Convert from pages into bytes.
|
Modifier and Type | Method and Description |
---|---|
protected abstract int |
OptionSet.bytesToPages(Extent bytes)
Convert bytes into pages, rounding up if necessary.
|
void |
PagesOption.setBytes(Extent value)
Update the value of the option, echoing the change if logChanges is set.
|