public interface ImageHeapLayouter
ImageHeapPartition
s. Every object in the native image heap
is assigned to a position within a ImageHeapPartition
.Modifier and Type | Method and Description |
---|---|
void |
assignObjectToPartition(ImageHeapObject info,
boolean immutable,
boolean references,
boolean relocatable)
Assign an object to the most suitable partition.
|
ImageHeapPartition[] |
getPartitions()
Returns all native image heap partitions.
|
ImageHeapLayoutInfo |
layout(ImageHeap imageHeap,
int pageSize)
This method places all heap partitions as one contiguous memory block in one section.
|
void |
writeMetadata(ByteBuffer imageHeapBytes,
long imageHeapOffsetInBuffer)
Based on the layout decided during an earlier call to
ImageHeapLayouter.layout(com.oracle.svm.core.image.ImageHeap, int) , fill the image heap in
the supplied buffer with additional data structures, if any. |
ImageHeapPartition[] getPartitions()
void assignObjectToPartition(ImageHeapObject info, boolean immutable, boolean references, boolean relocatable)
ImageHeapLayoutInfo layout(ImageHeap imageHeap, int pageSize)
void writeMetadata(ByteBuffer imageHeapBytes, long imageHeapOffsetInBuffer)
ImageHeapLayouter.layout(com.oracle.svm.core.image.ImageHeap, int)
, fill the image heap in
the supplied buffer with additional data structures, if any. At this time, the buffer already
contains the laid out objects, which are not meant to be modified in this step.imageHeapOffsetInBuffer
- The offset of the first byte of the laid out image heap in the
buffer. If a layouter subclass can be instructed to start laying out the image
heap at a specific non-zero offset, and the image heap is intended to start at the
same offset in the given buffer, the same offset must be specified to this method.