Modifier and Type | Class and Description |
---|---|
static class |
NativeImageHeap.ObjectInfo |
protected static class |
NativeImageHeap.Phase |
Modifier and Type | Field and Description |
---|---|
protected IdentityHashMap<Object,NativeImageHeap.ObjectInfo> |
objects
A Map from objects at construction-time to native image objects.
|
Constructor and Description |
---|
NativeImageHeap(com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse,
HostedUniverse universe,
HostedMetaAccess metaAccess,
ImageHeapLayouter heapLayouter) |
Modifier and Type | Method and Description |
---|---|
NativeImageHeap.ObjectInfo |
addFillerObject(int size)
Adds an object to the image heap that tries to span
size bytes. |
void |
addInitialObjects() |
NativeImageHeap.ObjectInfo |
addLateToImageHeap(Object object,
String reason)
This method allows adding objects to the image heap at a point in time when the image heap is
already considered as complete.
|
void |
addObject(Object original,
boolean immutableFromParent,
Object reason)
If necessary, add an object to the model of the native image heap.
|
void |
addTrailingObjects() |
int |
countDynamicHubs() |
protected com.oracle.graal.pointsto.meta.AnalysisUniverse |
getAnalysisUniverse() |
protected HybridLayout<?> |
getHybridLayout(HostedClass clazz) |
ImageHeapLayouter |
getLayouter() |
protected HostedMetaAccess |
getMetaAccess() |
int |
getObjectCount() |
NativeImageHeap.ObjectInfo |
getObjectInfo(Object obj) |
protected ObjectLayout |
getObjectLayout() |
Collection<NativeImageHeap.ObjectInfo> |
getObjects() |
protected HostedUniverse |
getUniverse() |
protected boolean |
isBlacklisted(Object obj) |
void |
registerAsImmutable(Object object) |
protected final IdentityHashMap<Object,NativeImageHeap.ObjectInfo> objects
public NativeImageHeap(com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse, HostedUniverse universe, HostedMetaAccess metaAccess, ImageHeapLayouter heapLayouter)
public Collection<NativeImageHeap.ObjectInfo> getObjects()
getObjects
in interface ImageHeap
public int getObjectCount()
public NativeImageHeap.ObjectInfo getObjectInfo(Object obj)
protected HostedUniverse getUniverse()
protected HostedMetaAccess getMetaAccess()
protected com.oracle.graal.pointsto.meta.AnalysisUniverse getAnalysisUniverse()
protected HybridLayout<?> getHybridLayout(HostedClass clazz)
protected boolean isBlacklisted(Object obj)
protected ObjectLayout getObjectLayout()
public ImageHeapLayouter getLayouter()
public void addInitialObjects()
public void addTrailingObjects()
public void registerAsImmutable(Object object)
public void addObject(Object original, boolean immutableFromParent, Object reason)
public int countDynamicHubs()
countDynamicHubs
in interface ImageHeap
public NativeImageHeap.ObjectInfo addFillerObject(int size)
size
bytes. Note that there is no
guarantee that the created object will exactly span size
bytes. If it is not possible
to create an object with size
bytes, the next smaller object that can be allocated is
added to the image heap instead. If size
is smaller than the smallest possible
object, no object is added to the image heap and null is returned.addFillerObject
in interface ImageHeap
public NativeImageHeap.ObjectInfo addLateToImageHeap(Object object, String reason)
addLateToImageHeap
in interface ImageHeap