public abstract class AbstractImageHeapLayouter<T extends ImageHeapPartition> extends Object implements ImageHeapLayouter
Modifier and Type | Class and Description |
---|---|
static class |
AbstractImageHeapLayouter.AbstractImageHeapPartition
The native image heap comes in partitions.
|
static class |
AbstractImageHeapLayouter.ImageHeapLayout |
Constructor and Description |
---|
AbstractImageHeapLayouter() |
Modifier and Type | Method and Description |
---|---|
void |
assignObjectToPartition(ImageHeapObject info,
boolean immutable,
boolean references,
boolean relocatable)
Assign an object to the most suitable partition.
|
protected abstract T |
createPartition(String name,
boolean containsReferences,
boolean writable) |
protected abstract T[] |
createPartitionsArray(int count) |
T[] |
getPartitions()
Returns all native image heap partitions.
|
protected T |
getReadOnlyPrimitive() |
protected T |
getReadOnlyReference() |
protected T |
getReadOnlyRelocatable() |
protected T |
getWritablePrimitive() |
protected T |
getWritableReference() |
AbstractImageHeapLayouter.ImageHeapLayout |
layoutPartitionsAsContiguousHeap(String sectionName,
int pageSize)
This method places all heap partitions as one contiguous memory block in one section.
|
AbstractImageHeapLayouter.ImageHeapLayout |
layoutPartitionsAsSeparatedHeap(String readOnlySectionName,
long readOnlySectionOffset,
String writableSectionName,
long writableSectionOffset)
This method layouts read-only and writable data as two separate memory blocks so that the
data can be put in different sections of the native image.
|
protected static boolean |
useHeapBase() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
assignPartitionRelativeOffsets, initialize
public T[] getPartitions()
ImageHeapLayouter
getPartitions
in interface ImageHeapLayouter
public void assignObjectToPartition(ImageHeapObject info, boolean immutable, boolean references, boolean relocatable)
ImageHeapLayouter
assignObjectToPartition
in interface ImageHeapLayouter
public AbstractImageHeapLayouter.ImageHeapLayout layoutPartitionsAsContiguousHeap(String sectionName, int pageSize)
ImageHeapLayouter
layoutPartitionsAsContiguousHeap
in interface ImageHeapLayouter
public AbstractImageHeapLayouter.ImageHeapLayout layoutPartitionsAsSeparatedHeap(String readOnlySectionName, long readOnlySectionOffset, String writableSectionName, long writableSectionOffset)
ImageHeapLayouter
layoutPartitionsAsSeparatedHeap
in interface ImageHeapLayouter
protected T getReadOnlyPrimitive()
protected T getReadOnlyReference()
protected T getReadOnlyRelocatable()
protected T getWritablePrimitive()
protected T getWritableReference()
protected static boolean useHeapBase()
protected abstract T[] createPartitionsArray(int count)