public class ChunkedImageHeapLayouter extends AbstractImageHeapLayouter<ChunkedImageHeapPartition>
AbstractImageHeapLayouter.AbstractImageHeapPartition
Constructor and Description |
---|
ChunkedImageHeapLayouter(ImageHeapInfo heapInfo,
long startOffset,
boolean compressedNullPadding) |
Modifier and Type | Method and Description |
---|---|
protected ChunkedImageHeapPartition |
createPartition(String name,
boolean containsReferences,
boolean writable,
boolean hugeObjects) |
protected ChunkedImageHeapPartition[] |
createPartitionsArray(int count) |
protected ImageHeapLayoutInfo |
doLayout(ImageHeap imageHeap) |
protected long |
getHugeObjectThreshold()
The size in bytes at and above which an object should be assigned to the huge partitions.
|
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. |
assignObjectToPartition, createLayoutInfo, getPartitions, getReadOnlyHuge, getReadOnlyPrimitive, getReadOnlyReference, getReadOnlyRelocatable, getWritableHuge, getWritablePrimitive, getWritableReference, layout
public ChunkedImageHeapLayouter(ImageHeapInfo heapInfo, long startOffset, boolean compressedNullPadding)
protected ChunkedImageHeapPartition[] createPartitionsArray(int count)
createPartitionsArray
in class AbstractImageHeapLayouter<ChunkedImageHeapPartition>
protected ChunkedImageHeapPartition createPartition(String name, boolean containsReferences, boolean writable, boolean hugeObjects)
createPartition
in class AbstractImageHeapLayouter<ChunkedImageHeapPartition>
protected long getHugeObjectThreshold()
AbstractImageHeapLayouter
getHugeObjectThreshold
in class AbstractImageHeapLayouter<ChunkedImageHeapPartition>
protected ImageHeapLayoutInfo doLayout(ImageHeap imageHeap)
doLayout
in class AbstractImageHeapLayouter<ChunkedImageHeapPartition>
public void writeMetadata(ByteBuffer imageHeapBytes, long imageHeapOffsetInBuffer)
ImageHeapLayouter
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.writeMetadata
in interface ImageHeapLayouter
writeMetadata
in class AbstractImageHeapLayouter<ChunkedImageHeapPartition>
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.