public final class com.oracle.svm.hosted.image.NativeImageHeap implements com.oracle.svm.core.image.ImageHeap
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.hosted.image.NativeImageHeap
super_class: java.lang.Object
{
private final com.oracle.svm.hosted.meta.HostedUniverse universe;
descriptor: Lcom/oracle/svm/hosted/meta/HostedUniverse;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse;
descriptor: Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.hosted.meta.HostedMetaAccess metaAccess;
descriptor: Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.core.config.ObjectLayout objectLayout;
descriptor: Lcom/oracle/svm/core/config/ObjectLayout;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.core.image.ImageHeapLayouter heapLayouter;
descriptor: Lcom/oracle/svm/core/image/ImageHeapLayouter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int minInstanceSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int minArraySize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final java.util.IdentityHashMap<java.lang.Object, com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo> objects;
descriptor: Ljava/util/IdentityHashMap;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/IdentityHashMap<Ljava/lang/Object;Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;>;
private final java.util.Set<java.lang.Object> blacklist;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Object;>;
private final java.util.Map<com.oracle.svm.hosted.meta.HostedClass, com.oracle.svm.hosted.config.HybridLayout<?>> hybridLayouts;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedClass;Lcom/oracle/svm/hosted/config/HybridLayout<*>;>;
private final java.util.Map<java.lang.String, java.lang.String> internedStrings;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private final com.oracle.svm.hosted.image.NativeImageHeap$Phase addObjectsPhase;
descriptor: Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.hosted.image.NativeImageHeap$Phase internStringsPhase;
descriptor: Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Deque<com.oracle.svm.hosted.image.NativeImageHeap$AddObjectData> addObjectWorklist;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Lcom/oracle/svm/hosted/image/NativeImageHeap$AddObjectData;>;
private final java.util.Set<java.lang.Object> knownImmutableObjects;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Object;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/image/NativeImageHeap;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.graal.pointsto.meta.AnalysisUniverse, com.oracle.svm.hosted.meta.HostedUniverse, com.oracle.svm.hosted.meta.HostedMetaAccess, com.oracle.svm.core.image.ImageHeapLayouter);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/svm/hosted/meta/HostedMetaAccess;Lcom/oracle/svm/core/image/ImageHeapLayouter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield com.oracle.svm.hosted.image.NativeImageHeap.objects:Ljava/util/IdentityHashMap;
2: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
putfield com.oracle.svm.hosted.image.NativeImageHeap.blacklist:Ljava/util/Set;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.svm.hosted.image.NativeImageHeap.hybridLayouts:Ljava/util/Map;
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.svm.hosted.image.NativeImageHeap.internedStrings:Ljava/util/Map;
5: aload 0
invokestatic com.oracle.svm.hosted.image.NativeImageHeap$Phase.factory:()Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
putfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
6: aload 0
invokestatic com.oracle.svm.hosted.image.NativeImageHeap$Phase.factory:()Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
putfield com.oracle.svm.hosted.image.NativeImageHeap.internStringsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
7: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectWorklist:Ljava/util/Deque;
8: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
putfield com.oracle.svm.hosted.image.NativeImageHeap.knownImmutableObjects:Ljava/util/Set;
9: aload 0
aload 1
putfield com.oracle.svm.hosted.image.NativeImageHeap.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
10: aload 0
aload 2
putfield com.oracle.svm.hosted.image.NativeImageHeap.universe:Lcom/oracle/svm/hosted/meta/HostedUniverse;
11: aload 0
aload 3
putfield com.oracle.svm.hosted.image.NativeImageHeap.metaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
12: aload 0
invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
putfield com.oracle.svm.hosted.image.NativeImageHeap.objectLayout:Lcom/oracle/svm/core/config/ObjectLayout;
13: aload 0
aload 4
putfield com.oracle.svm.hosted.image.NativeImageHeap.heapLayouter:Lcom/oracle/svm/core/image/ImageHeapLayouter;
14: aload 0
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objectLayout:Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getMinimumInstanceObjectSize:()I
putfield com.oracle.svm.hosted.image.NativeImageHeap.minInstanceSize:I
15: aload 0
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objectLayout:Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getMinimumArraySize:()I
putfield com.oracle.svm.hosted.image.NativeImageHeap.minArraySize:I
16: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 17
aload 0
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.assertFillerObjectSizes:()Z
ifne 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap com.oracle.graal.pointsto.meta.AnalysisUniverse com.oracle.svm.hosted.meta.HostedUniverse com.oracle.svm.hosted.meta.HostedMetaAccess com.oracle.svm.core.image.ImageHeapLayouter
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 18 1 aUniverse Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
0 18 2 universe Lcom/oracle/svm/hosted/meta/HostedUniverse;
0 18 3 metaAccess Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
0 18 4 heapLayouter Lcom/oracle/svm/core/image/ImageHeapLayouter;
MethodParameters:
Name Flags
aUniverse
universe
metaAccess
heapLayouter
public java.util.Collection<com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo> getObjects();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objects:Ljava/util/IdentityHashMap;
invokevirtual java.util.IdentityHashMap.values:()Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
Signature: ()Ljava/util/Collection<Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;>;
public int getObjectCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objects:Ljava/util/IdentityHashMap;
invokevirtual java.util.IdentityHashMap.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
public com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo getObjectInfo(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objects:Ljava/util/IdentityHashMap;
aload 1
invokevirtual java.util.IdentityHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
protected com.oracle.svm.hosted.meta.HostedUniverse getUniverse();
descriptor: ()Lcom/oracle/svm/hosted/meta/HostedUniverse;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.universe:Lcom/oracle/svm/hosted/meta/HostedUniverse;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
protected com.oracle.svm.hosted.meta.HostedMetaAccess getMetaAccess();
descriptor: ()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.metaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
protected com.oracle.graal.pointsto.meta.AnalysisUniverse getAnalysisUniverse();
descriptor: ()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
protected com.oracle.svm.hosted.config.HybridLayout<?> getHybridLayout(com.oracle.svm.hosted.meta.HostedClass);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedClass;)Lcom/oracle/svm/hosted/config/HybridLayout;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.hybridLayouts:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.hosted.config.HybridLayout
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 1 1 clazz Lcom/oracle/svm/hosted/meta/HostedClass;
Signature: (Lcom/oracle/svm/hosted/meta/HostedClass;)Lcom/oracle/svm/hosted/config/HybridLayout<*>;
MethodParameters:
Name Flags
clazz
protected boolean isBlacklisted(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.blacklist:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
protected com.oracle.svm.core.config.ObjectLayout getObjectLayout();
descriptor: ()Lcom/oracle/svm/core/config/ObjectLayout;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objectLayout:Lcom/oracle/svm/core/config/ObjectLayout;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
public com.oracle.svm.core.image.ImageHeapLayouter getLayouter();
descriptor: ()Lcom/oracle/svm/core/image/ImageHeapLayouter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.heapLayouter:Lcom/oracle/svm/core/image/ImageHeapLayouter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
static boolean useHeapBase();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.svm.core.SubstrateOptions.SpawnIsolates:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 1
ldc Lorg/graalvm/compiler/core/common/CompressEncoding;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.CompressEncoding
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.hasBase:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static boolean spawnIsolates();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.svm.core.SubstrateOptions.SpawnIsolates:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 1
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.useHeapBase:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
public void addInitialObjects();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.allow:()V
1: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.internStringsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.allow:()V
2: aload 0
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addStaticFields:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
public void addTrailingObjects();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.processAddObjectWorklist:()V
1: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.metaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
invokestatic com.oracle.svm.hosted.image.StringInternFeature.getInternedStringsField:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaField;
checkcast com.oracle.svm.hosted.meta.HostedField
astore 1
start local 1 2: aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedField.isAccessed:()Z
istore 2
start local 2 3: iload 2
ifeq 12
4: aload 0
aload 0
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
ldc [Ljava/lang/String;
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/svm/hosted/meta/HostedType;
invokevirtual com.oracle.svm.hosted.meta.HostedType.getHub:()Lcom/oracle/svm/core/hub/DynamicHub;
iconst_0
ldc "internedStrings table"
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addObject:(Ljava/lang/Object;ZLjava/lang/Object;)V
5: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.internStringsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.disallow:()V
6: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.internedStrings:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
iconst_0
anewarray java.lang.String
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 3
start local 3 7: aload 3
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
8: ldc Lcom/oracle/svm/core/jdk/StringInternSupport;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.jdk.StringInternSupport
aload 3
invokevirtual com.oracle.svm.core.jdk.StringInternSupport.setImageInternedStrings:([Ljava/lang/String;)V
9: aload 0
aload 3
iconst_1
ldc "internedStrings table"
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addObject:(Ljava/lang/Object;ZLjava/lang/Object;)V
10: aload 0
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.processAddObjectWorklist:()V
end local 3 11: goto 13
12: StackMap locals: com.oracle.svm.hosted.meta.HostedField int
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.internStringsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.disallow:()V
13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.disallow:()V
14: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 15
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectWorklist:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
2 16 1 internedStringsField Lcom/oracle/svm/hosted/meta/HostedField;
3 16 2 usesInternedStrings Z
7 11 3 imageInternedStrings [Ljava/lang/String;
private static java.lang.Object readObjectField(com.oracle.svm.hosted.meta.HostedField, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedField;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedField.readStorageValue:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 field Lcom/oracle/svm/hosted/meta/HostedField;
0 1 1 receiver Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
field
receiver
private void addStaticFields();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.StaticFieldsSupport.getStaticObjectFields:()[Ljava/lang/Object;
iconst_0
ldc "staticObjectFields"
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addObject:(Ljava/lang/Object;ZLjava/lang/Object;)V
1: aload 0
invokestatic com.oracle.svm.core.StaticFieldsSupport.getStaticPrimitiveFields:()[B
iconst_0
ldc "staticPrimitiveFields"
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addObject:(Ljava/lang/Object;ZLjava/lang/Object;)V
2: aload 0
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getUniverse:()Lcom/oracle/svm/hosted/meta/HostedUniverse;
invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getFields:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 7
StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.meta.HostedField
astore 1
start local 1 4: aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedField.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 7
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedField.hasLocation:()Z
ifeq 7
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedField.getType:()Lcom/oracle/svm/hosted/meta/HostedType;
invokevirtual com.oracle.svm.hosted.meta.HostedType.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 7
5: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 6
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedField.isWritten:()Z
ifne 6
invokestatic com.oracle.svm.hosted.meta.MaterializedConstantFields.singleton:()Lcom/oracle/svm/hosted/meta/MaterializedConstantFields;
aload 1
getfield com.oracle.svm.hosted.meta.HostedField.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisField;
invokevirtual com.oracle.svm.hosted.meta.MaterializedConstantFields.contains:(Lcom/oracle/graal/pointsto/meta/AnalysisField;)Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap com.oracle.svm.hosted.meta.HostedField java.util.Iterator
StackMap stack:
aload 0
aload 1
aconst_null
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.readObjectField:(Lcom/oracle/svm/hosted/meta/HostedField;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
iconst_0
aload 1
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addObject:(Ljava/lang/Object;ZLjava/lang/Object;)V
end local 1 7: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
4 7 1 field Lcom/oracle/svm/hosted/meta/HostedField;
public void registerAsImmutable(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.isBefore:()Z
ifne 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Registering immutable object too late: phase: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.knownImmutableObjects:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 3 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public void addObject(java.lang.Object, boolean, java.lang.Object);
descriptor: (Ljava/lang/Object;ZLjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.isAllowed:()Z
ifne 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Objects cannot be added at phase: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " with reason: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
ifnull 2
aload 1
instanceof org.graalvm.word.WordBase
ifeq 3
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Class
ifeq 5
4: new java.lang.StringBuilder
dup
ldc "Must not have Class in native image heap: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
5: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.svm.core.hub.DynamicHub
ifeq 7
aload 1
checkcast com.oracle.svm.core.hub.DynamicHub
invokevirtual com.oracle.svm.core.hub.DynamicHub.getClassInitializationInfo:()Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo;
ifnonnull 7
6: aload 1
aload 3
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.reportIllegalType:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/RuntimeException;
athrow
7: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.computeIdentityHashCode:(Ljava/lang/Object;)I
istore 4
start local 4 8: iload 4
ifeq 9
iconst_1
goto 10
StackMap locals: int
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: ldc "0 is used as a marker value for 'hash code not yet computed'"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
11: aload 1
instanceof java.lang.String
ifeq 13
12: aload 0
aload 1
checkcast java.lang.String
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.handleImageString:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objects:Ljava/util/IdentityHashMap;
aload 1
invokevirtual java.util.IdentityHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
astore 5
start local 5 14: aload 5
ifnonnull 16
15: aload 0
aload 1
iload 2
iload 4
aload 3
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addObjectToBootImageHeap:(Ljava/lang/Object;ZILjava/lang/Object;)V
16: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 17 1 original Ljava/lang/Object;
0 17 2 immutableFromParent Z
0 17 3 reason Ljava/lang/Object;
8 17 4 identityHashCode I
14 17 5 existing Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
MethodParameters:
Name Flags
original final
immutableFromParent
reason final
public int countDynamicHubs();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getObjects:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
astore 2
start local 2 3: aload 2
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getObject:()Ljava/lang/Object;
instanceof com.oracle.svm.core.hub.DynamicHub
ifeq 5
4: iinc 1 1
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
1 7 1 count I
3 5 2 o Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
public com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo addFillerObject(int);
descriptor: (I)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.minArraySize:I
if_icmplt 5
1: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objectLayout:Lcom/oracle/svm/core/config/ObjectLayout;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
istore 2
start local 2 2: iload 1
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.minArraySize:I
isub
iload 2
idiv
istore 3
start local 3 3: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 4
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objectLayout:Lcom/oracle/svm/core/config/ObjectLayout;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
iload 3
invokevirtual com.oracle.svm.core.config.ObjectLayout.getArraySize:(Ljdk/vm/ci/meta/JavaKind;I)J
iload 1
i2l
lcmp
ifeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: int int
StackMap stack:
aload 0
iload 3
newarray 10
ldc "Filler object"
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addLateToImageHeap:(Ljava/lang/Object;Ljava/lang/String;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
areturn
end local 3 end local 2 5: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.minInstanceSize:I
if_icmplt 7
6: aload 0
new com.oracle.svm.core.heap.FillerObject
dup
invokespecial com.oracle.svm.core.heap.FillerObject.<init>:()V
ldc "Filler object"
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addLateToImageHeap:(Ljava/lang/Object;Ljava/lang/String;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 8 1 size I
2 5 2 elementSize I
3 5 3 arrayLength I
MethodParameters:
Name Flags
size
private boolean assertFillerObjectSizes();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.minArraySize:I
i2l
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objectLayout:Lcom/oracle/svm/core/config/ObjectLayout;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
iconst_0
invokevirtual com.oracle.svm.core.config.ObjectLayout.getArraySize:(Ljdk/vm/ci/meta/JavaKind;I)J
lcmp
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.metaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
ldc Lcom/oracle/svm/core/heap/FillerObject;
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/svm/hosted/meta/HostedType;
astore 1
start local 1 2: aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedType.getHub:()Lcom/oracle/svm/core/hub/DynamicHub;
invokevirtual com.oracle.svm.core.hub.DynamicHub.getLayoutEncoding:()I
invokestatic com.oracle.svm.core.hub.LayoutEncoding.getInstanceSize:(I)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 3: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 4
aload 2
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.minInstanceSize:I
invokeinterface org.graalvm.word.UnsignedWord.equal:(I)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: com.oracle.svm.hosted.meta.HostedType org.graalvm.word.UnsignedWord
StackMap stack:
getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 5
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.minInstanceSize:I
iconst_2
imul
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.minArraySize:I
if_icmpge 5
new java.lang.AssertionError
dup
ldc "otherwise, we might need more than one non-array object"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
2 6 1 filler Lcom/oracle/svm/hosted/meta/HostedType;
3 6 2 fillerSize Lorg/graalvm/word/UnsignedWord;
private void handleImageString(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.forceHashCodeComputation:(Ljava/lang/String;)V
1: aload 1
invokestatic com.oracle.svm.core.util.HostedStringDeduplication.isInternedString:(Ljava/lang/String;)Z
ifeq 4
2: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 3
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.internedStrings:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 3
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.internStringsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.isAllowed:()Z
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Should not intern string during phase "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.internStringsPhase:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.internedStrings:Ljava/util/Map;
aload 1
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 5 1 str Ljava/lang/String;
MethodParameters:
Name Flags
str final
private static void forceHashCodeComputation(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.hashCode:()I
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 str Ljava/lang/String;
RuntimeInvisibleAnnotations:
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"RV_RETURN_VALUE_IGNORED"}, justification = "eager hash field computation")
MethodParameters:
Name Flags
str final
private void addObjectToBootImageHeap(java.lang.Object, boolean, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ZILjava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=28, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.optionalLookupJavaType:(Ljava/lang/Class;)Ljava/util/Optional;
astore 5
start local 5 1: aload 5
aload 1
aload 4
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.requireType:(Ljava/util/Optional;Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/svm/hosted/meta/HostedType;
astore 6
start local 6 2: aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedType.getHub:()Lcom/oracle/svm/core/hub/DynamicHub;
astore 7
start local 7 3: iload 2
ifne 4
aload 0
aload 1
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.isKnownImmutable:(Ljava/lang/Object;)Z
ifne 4
iconst_0
goto 5
StackMap locals: java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 9
start local 9 6: iconst_0
istore 10
start local 10 7: iconst_0
istore 11
start local 11 8: iconst_0
istore 12
start local 12 9: aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedType.isInstanceClass:()Z
ifeq 69
10: aload 6
checkcast com.oracle.svm.hosted.meta.HostedInstanceClass
astore 13
start local 13 11: aload 13
invokevirtual com.oracle.svm.hosted.meta.HostedInstanceClass.getMonitorFieldOffset:()I
ifeq 14
12: iconst_1
istore 10
13: iconst_1
istore 11
14: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub top int int int int com.oracle.svm.hosted.meta.HostedInstanceClass
StackMap stack:
aload 1
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
astore 14
start local 14 15: aconst_null
astore 15
start local 15 16: aconst_null
astore 16
start local 16 17: aconst_null
astore 17
start local 17 18: aload 13
invokestatic com.oracle.svm.hosted.config.HybridLayout.isHybrid:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 35
19: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.hybridLayouts:Ljava/util/Map;
aload 13
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.hosted.config.HybridLayout
astore 20
start local 20 20: aload 20
ifnonnull 23
21: new com.oracle.svm.hosted.config.HybridLayout
dup
aload 13
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objectLayout:Lcom/oracle/svm/core/config/ObjectLayout;
invokespecial com.oracle.svm.hosted.config.HybridLayout.<init>:(Lcom/oracle/svm/hosted/meta/HostedInstanceClass;Lcom/oracle/svm/core/config/ObjectLayout;)V
astore 20
22: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.hybridLayouts:Ljava/util/Map;
aload 13
aload 20
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub top int int int int com.oracle.svm.hosted.meta.HostedInstanceClass jdk.vm.ci.meta.JavaConstant com.oracle.svm.hosted.meta.HostedField com.oracle.svm.hosted.meta.HostedField java.lang.Object top top com.oracle.svm.hosted.config.HybridLayout
StackMap stack:
aload 20
invokevirtual com.oracle.svm.hosted.config.HybridLayout.getTypeIDSlotsField:()Lcom/oracle/svm/hosted/meta/HostedField;
astore 15
24: aload 15
ifnull 28
25: aload 15
aload 14
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.readObjectField:(Lcom/oracle/svm/hosted/meta/HostedField;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
astore 21
start local 21 26: aload 21
ifnull 28
27: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.blacklist:Ljava/util/Set;
aload 21
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 21 28: StackMap locals:
StackMap stack:
aload 20
invokevirtual com.oracle.svm.hosted.config.HybridLayout.getArrayField:()Lcom/oracle/svm/hosted/meta/HostedField;
astore 16
29: aload 16
aload 14
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.readObjectField:(Lcom/oracle/svm/hosted/meta/HostedField;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
astore 17
30: aload 17
ifnull 33
31: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.blacklist:Ljava/util/Set;
aload 17
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
32: iconst_1
istore 10
33: StackMap locals:
StackMap stack:
aload 20
aload 17
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
invokevirtual com.oracle.svm.hosted.config.HybridLayout.getTotalSize:(I)J
lstore 18
end local 20 start local 18 34: goto 36
end local 18 35: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub top int int int int com.oracle.svm.hosted.meta.HostedInstanceClass jdk.vm.ci.meta.JavaConstant com.oracle.svm.hosted.meta.HostedField com.oracle.svm.hosted.meta.HostedField java.lang.Object
StackMap stack:
aload 7
invokevirtual com.oracle.svm.core.hub.DynamicHub.getLayoutEncoding:()I
invokestatic com.oracle.svm.core.hub.LayoutEncoding.getInstanceSize:(I)Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
lstore 18
start local 18 36: StackMap locals: long
StackMap stack:
aload 0
aload 1
aload 13
lload 18
iload 3
aload 4
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addToImageHeap:(Ljava/lang/Object;Lcom/oracle/svm/hosted/meta/HostedClass;JILjava/lang/Object;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
astore 8
start local 8 37: aload 0
aload 7
iconst_0
aload 8
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.recursiveAddObject:(Ljava/lang/Object;ZLjava/lang/Object;)V
38: aload 1
instanceof java.lang.String
istore 20
start local 20 39: aload 13
iconst_1
invokevirtual com.oracle.svm.hosted.meta.HostedInstanceClass.getInstanceFields:(Z)[Lcom/oracle/svm/hosted/meta/HostedField;
dup
astore 24
arraylength
istore 23
iconst_0
istore 22
goto 62
StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo int int int int com.oracle.svm.hosted.meta.HostedInstanceClass jdk.vm.ci.meta.JavaConstant com.oracle.svm.hosted.meta.HostedField com.oracle.svm.hosted.meta.HostedField java.lang.Object long int top int int com.oracle.svm.hosted.meta.HostedField[]
StackMap stack:
40: aload 24
iload 22
aaload
astore 21
start local 21 41: aload 21
invokevirtual com.oracle.svm.hosted.meta.HostedField.isInImageHeap:()Z
ifeq 61
42: aload 21
aload 16
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 61
43: aload 21
aload 15
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 61
44: iconst_0
istore 25
start local 25 45: aload 21
invokevirtual com.oracle.svm.hosted.meta.HostedField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 54
46: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 47
aload 21
invokevirtual com.oracle.svm.hosted.meta.HostedField.hasLocation:()Z
ifne 47
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
47: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo int int int int com.oracle.svm.hosted.meta.HostedInstanceClass jdk.vm.ci.meta.JavaConstant com.oracle.svm.hosted.meta.HostedField com.oracle.svm.hosted.meta.HostedField java.lang.Object long int com.oracle.svm.hosted.meta.HostedField int int com.oracle.svm.hosted.meta.HostedField[] int
StackMap stack:
aload 21
aload 14
invokevirtual com.oracle.svm.hosted.meta.HostedField.readValue:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
astore 26
start local 26 48: aload 26
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 54
49: aload 26
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
astore 27
start local 27 50: invokestatic com.oracle.svm.hosted.image.NativeImageHeap.spawnIsolates:()Z
ifeq 52
51: aload 27
instanceof org.graalvm.nativeimage.c.function.RelocatedPointer
istore 25
52: StackMap locals: jdk.vm.ci.meta.JavaConstant java.lang.Object
StackMap stack:
aload 0
aload 27
iload 20
aload 8
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.recursiveAddObject:(Ljava/lang/Object;ZLjava/lang/Object;)V
53: iconst_1
istore 11
end local 27 end local 26 54: StackMap locals:
StackMap stack:
iload 12
ifne 55
iload 25
ifne 55
iconst_0
goto 56
StackMap locals:
StackMap stack:
55: iconst_1
StackMap locals:
StackMap stack: int
56: istore 12
57: iload 10
ifne 59
aload 21
invokevirtual com.oracle.svm.hosted.meta.HostedField.isWritten:()Z
ifeq 58
aload 21
invokevirtual com.oracle.svm.hosted.meta.HostedField.isFinal:()Z
ifne 58
iload 25
ifeq 59
StackMap locals:
StackMap stack:
58: iconst_0
goto 60
StackMap locals:
StackMap stack:
59: iconst_1
StackMap locals:
StackMap stack: int
60: istore 10
end local 25 end local 21 61: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo int int int int com.oracle.svm.hosted.meta.HostedInstanceClass jdk.vm.ci.meta.JavaConstant com.oracle.svm.hosted.meta.HostedField com.oracle.svm.hosted.meta.HostedField java.lang.Object long int top int int com.oracle.svm.hosted.meta.HostedField[]
StackMap stack:
iinc 22 1
StackMap locals:
StackMap stack:
62: iload 22
iload 23
if_icmplt 40
63: aload 17
instanceof java.lang.Object[]
ifeq 82
64: aload 0
aload 17
checkcast java.lang.Object[]
iload 12
aload 8
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addArrayElements:([Ljava/lang/Object;ZLjava/lang/Object;)Z
istore 12
65: iconst_1
istore 11
end local 20 66: goto 82
StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo int int int int com.oracle.svm.hosted.meta.HostedInstanceClass jdk.vm.ci.meta.JavaConstant com.oracle.svm.hosted.meta.HostedField com.oracle.svm.hosted.meta.HostedField java.lang.Object long
StackMap stack: com.oracle.graal.pointsto.util.AnalysisError$TypeNotFoundError
67: astore 20
start local 20 68: aload 20
invokevirtual com.oracle.graal.pointsto.util.AnalysisError$TypeNotFoundError.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 8
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.reportIllegalType:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/RuntimeException;
athrow
end local 20 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 8 69: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub top int int int int
StackMap stack:
aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedType.isArray:()Z
ifeq 81
70: aload 6
checkcast com.oracle.svm.hosted.meta.HostedArrayClass
astore 13
start local 13 71: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objectLayout:Lcom/oracle/svm/core/config/ObjectLayout;
aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedType.getComponentType:()Lcom/oracle/svm/hosted/meta/HostedType;
invokevirtual com.oracle.svm.hosted.meta.HostedType.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
invokevirtual com.oracle.svm.core.config.ObjectLayout.getArraySize:(Ljdk/vm/ci/meta/JavaKind;I)J
lstore 14
start local 14 72: aload 0
aload 1
aload 13
lload 14
iload 3
aload 4
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addToImageHeap:(Ljava/lang/Object;Lcom/oracle/svm/hosted/meta/HostedClass;JILjava/lang/Object;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
astore 8
start local 8 73: aload 0
aload 7
iconst_0
aload 8
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.recursiveAddObject:(Ljava/lang/Object;ZLjava/lang/Object;)V
74: aload 1
instanceof java.lang.Object[]
ifeq 77
75: aload 0
aload 1
checkcast java.lang.Object[]
iconst_0
aload 8
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addArrayElements:([Ljava/lang/Object;ZLjava/lang/Object;)Z
istore 12
76: iconst_1
istore 11
77: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo int int int int com.oracle.svm.hosted.meta.HostedArrayClass long
StackMap stack:
iconst_1
istore 10
78: goto 82
StackMap locals:
StackMap stack: com.oracle.graal.pointsto.util.AnalysisError$TypeNotFoundError
79: astore 16
start local 16 80: aload 16
invokevirtual com.oracle.graal.pointsto.util.AnalysisError$TypeNotFoundError.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 8
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.reportIllegalType:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/RuntimeException;
athrow
end local 16 end local 14 end local 13 end local 8 81: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub top int int int int
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
start local 8 82: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo int int int int
StackMap stack:
iload 12
ifeq 84
aload 0
aload 1
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.isKnownImmutable:(Ljava/lang/Object;)Z
ifne 84
83: new java.lang.StringBuilder
dup
ldc "Object with relocatable pointers must be explicitly immutable: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
84: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.heapLayouter:Lcom/oracle/svm/core/image/ImageHeapLayouter;
aload 8
iload 10
ifeq 85
iload 9
ifne 85
iconst_0
goto 86
StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo int int int int
StackMap stack: com.oracle.svm.core.image.ImageHeapLayouter com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
85: iconst_1
StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object int int java.lang.Object java.util.Optional com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo int int int int
StackMap stack: com.oracle.svm.core.image.ImageHeapLayouter com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo int
86: iload 11
iload 12
invokeinterface com.oracle.svm.core.image.ImageHeapLayouter.assignObjectToPartition:(Lcom/oracle/svm/core/image/ImageHeapObject;ZZZ)V
87: return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 88 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 88 1 object Ljava/lang/Object;
0 88 2 immutableFromParent Z
0 88 3 identityHashCode I
0 88 4 reason Ljava/lang/Object;
1 88 5 optionalType Ljava/util/Optional<Lcom/oracle/svm/hosted/meta/HostedType;>;
2 88 6 type Lcom/oracle/svm/hosted/meta/HostedType;
3 88 7 hub Lcom/oracle/svm/core/hub/DynamicHub;
37 69 8 info Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
73 81 8 info Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
82 88 8 info Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
6 88 9 immutable Z
7 88 10 written Z
8 88 11 references Z
9 88 12 relocatable Z
11 69 13 clazz Lcom/oracle/svm/hosted/meta/HostedInstanceClass;
15 69 14 con Ljdk/vm/ci/meta/JavaConstant;
16 69 15 hybridTypeIDSlotsField Lcom/oracle/svm/hosted/meta/HostedField;
17 69 16 hybridArrayField Lcom/oracle/svm/hosted/meta/HostedField;
18 69 17 hybridArray Ljava/lang/Object;
34 35 18 size J
36 69 18 size J
20 34 20 hybridLayout Lcom/oracle/svm/hosted/config/HybridLayout<*>;
26 28 21 typeIDSlots Ljava/lang/Object;
39 66 20 fieldsAreImmutable Z
41 61 21 field Lcom/oracle/svm/hosted/meta/HostedField;
45 61 25 fieldRelocatable Z
48 54 26 fieldValueConstant Ljdk/vm/ci/meta/JavaConstant;
50 54 27 fieldValue Ljava/lang/Object;
68 69 20 ex Lcom/oracle/graal/pointsto/util/AnalysisError$TypeNotFoundError;
71 81 13 clazz Lcom/oracle/svm/hosted/meta/HostedArrayClass;
72 81 14 size J
80 81 16 ex Lcom/oracle/graal/pointsto/util/AnalysisError$TypeNotFoundError;
Exception table:
from to target type
37 66 67 Class com.oracle.graal.pointsto.util.AnalysisError$TypeNotFoundError
73 78 79 Class com.oracle.graal.pointsto.util.AnalysisError$TypeNotFoundError
MethodParameters:
Name Flags
object final
immutableFromParent
identityHashCode final
reason final
private static com.oracle.svm.hosted.meta.HostedType requireType(java.util.Optional<com.oracle.svm.hosted.meta.HostedType>, , );
descriptor: (Ljava/util/Optional;Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/svm/hosted/meta/HostedType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.util.Optional.isPresent:()Z
ifeq 1
aload 0
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.meta.HostedType
invokevirtual com.oracle.svm.hosted.meta.HostedType.isInstantiated:()Z
ifne 2
1: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.reportIllegalType:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/RuntimeException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.meta.HostedType
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 optionalType Ljava/util/Optional<Lcom/oracle/svm/hosted/meta/HostedType;>;
0 3 1 object Ljava/lang/Object;
0 3 2 reason Ljava/lang/Object;
Signature: (Ljava/util/Optional<Lcom/oracle/svm/hosted/meta/HostedType;>;Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/svm/hosted/meta/HostedType;
MethodParameters:
Name Flags
optionalType
object
reason
static java.lang.RuntimeException reportIllegalType(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/RuntimeException;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
ldc "Image heap writing found a class not seen during static analysis. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 2
ldc "Did a static field or an object referenced from a static field change during native image generation? "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 2
ldc "For example, a lazily initialized cache could have been initialized during image generation, in which case "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 2
ldc "you need to force eager initialization of the cache before static analysis or reset the cache using a field "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 2
ldc "value recomputation."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 0
instanceof com.oracle.svm.core.hub.DynamicHub
ifeq 9
7: aload 2
ldc "class: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
checkcast com.oracle.svm.core.hub.DynamicHub
invokevirtual com.oracle.svm.core.hub.DynamicHub.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: goto 13
StackMap locals: java.lang.StringBuilder
StackMap stack:
9: aload 0
instanceof jdk.vm.ci.meta.ResolvedJavaType
ifeq 12
10: aload 2
ldc "class: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
checkcast jdk.vm.ci.meta.ResolvedJavaType
iconst_1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: goto 13
12: StackMap locals:
StackMap stack:
aload 2
ldc "object: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " of class: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: StackMap locals:
StackMap stack:
aload 2
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " reachable through:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 2
aload 1
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.fillReasonStack:(Ljava/lang/StringBuilder;Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
15: ldc "%s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 object Ljava/lang/Object;
0 16 1 reason Ljava/lang/Object;
1 16 2 msg Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
object
reason
private static java.lang.StringBuilder fillReasonStack(java.lang.StringBuilder, java.lang.Object);
descriptor: (Ljava/lang/StringBuilder;Ljava/lang/Object;)Ljava/lang/StringBuilder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
ifeq 4
1: aload 1
checkcast com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
astore 2
start local 2 2: aload 0
ldc " object: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getObject:()Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " of class: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getObject:()Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 0
aload 2
getfield com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.reason:Ljava/lang/Object;
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.fillReasonStack:(Ljava/lang/StringBuilder;Ljava/lang/Object;)Ljava/lang/StringBuilder;
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 0
ldc " root: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 msg Ljava/lang/StringBuilder;
0 5 1 reason Ljava/lang/Object;
2 4 2 info Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
MethodParameters:
Name Flags
msg
reason
private boolean isKnownImmutable(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.String
ifeq 3
1: aload 1
invokevirtual java.lang.Object.hashCode:()I
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic com.oracle.svm.hosted.meta.UniverseBuilder.isKnownImmutableType:(Ljava/lang/Class;)Z
ifne 4
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.knownImmutableObjects:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 4
iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 5 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj final
private com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo addToImageHeap(java.lang.Object, com.oracle.svm.hosted.meta.HostedClass, long, int, java.lang.Object);
descriptor: (Ljava/lang/Object;Lcom/oracle/svm/hosted/meta/HostedClass;JILjava/lang/Object;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 0: new com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
dup
aload 1
lload 3
aload 2
iload 5
aload 6
invokespecial com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.<init>:(Ljava/lang/Object;JLcom/oracle/svm/hosted/meta/HostedClass;ILjava/lang/Object;)V
astore 7
start local 7 1: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objects:Ljava/util/IdentityHashMap;
aload 1
invokevirtual java.util.IdentityHashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objects:Ljava/util/IdentityHashMap;
aload 1
aload 7
invokevirtual java.util.IdentityHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 7
areturn
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 4 1 object Ljava/lang/Object;
0 4 2 clazz Lcom/oracle/svm/hosted/meta/HostedClass;
0 4 3 size J
0 4 5 identityHashCode I
0 4 6 reason Ljava/lang/Object;
1 4 7 info Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
MethodParameters:
Name Flags
object
clazz
size
identityHashCode
reason
public com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo addLateToImageHeap(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 1
aload 1
instanceof com.oracle.svm.core.hub.DynamicHub
ifeq 1
new java.lang.AssertionError
dup
ldc "needs a different identity hashcode"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 2
aload 1
instanceof java.lang.String
ifeq 2
new java.lang.AssertionError
dup
ldc "needs String interning"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.optionalLookupJavaType:(Ljava/lang/Class;)Ljava/util/Optional;
astore 3
start local 3 3: aload 3
aload 1
aload 2
invokestatic com.oracle.svm.hosted.image.NativeImageHeap.requireType:(Ljava/util/Optional;Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/svm/hosted/meta/HostedType;
astore 4
start local 4 4: aload 0
aload 1
aload 4
checkcast com.oracle.svm.hosted.meta.HostedClass
aload 0
aload 1
aload 4
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getSize:(Ljava/lang/Object;Lcom/oracle/svm/hosted/meta/HostedType;)J
aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
aload 2
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addToImageHeap:(Ljava/lang/Object;Lcom/oracle/svm/hosted/meta/HostedClass;JILjava/lang/Object;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 5 1 object Ljava/lang/Object;
0 5 2 reason Ljava/lang/String;
3 5 3 optionalType Ljava/util/Optional<Lcom/oracle/svm/hosted/meta/HostedType;>;
4 5 4 type Lcom/oracle/svm/hosted/meta/HostedType;
MethodParameters:
Name Flags
object
reason
private long getSize(java.lang.Object, com.oracle.svm.hosted.meta.HostedType);
descriptor: (Ljava/lang/Object;Lcom/oracle/svm/hosted/meta/HostedType;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.oracle.svm.hosted.meta.HostedType.isInstanceClass:()Z
ifeq 4
1: aload 2
checkcast com.oracle.svm.hosted.meta.HostedInstanceClass
astore 3
start local 3 2: getstatic com.oracle.svm.hosted.image.NativeImageHeap.$assertionsDisabled:Z
ifne 3
aload 3
invokestatic com.oracle.svm.hosted.config.HybridLayout.isHybrid:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: com.oracle.svm.hosted.meta.HostedInstanceClass
StackMap stack:
aload 3
invokevirtual com.oracle.svm.hosted.meta.HostedInstanceClass.getHub:()Lcom/oracle/svm/core/hub/DynamicHub;
invokevirtual com.oracle.svm.core.hub.DynamicHub.getLayoutEncoding:()I
invokestatic com.oracle.svm.core.hub.LayoutEncoding.getInstanceSize:(I)Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
lreturn
end local 3 4: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.svm.hosted.meta.HostedType.isArray:()Z
ifeq 6
5: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.objectLayout:Lcom/oracle/svm/core/config/ObjectLayout;
aload 2
invokevirtual com.oracle.svm.hosted.meta.HostedType.getComponentType:()Lcom/oracle/svm/hosted/meta/HostedType;
invokevirtual com.oracle.svm.hosted.meta.HostedType.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
invokevirtual com.oracle.svm.core.config.ObjectLayout.getArraySize:(Ljdk/vm/ci/meta/JavaKind;I)J
lreturn
6: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 7 1 object Ljava/lang/Object;
0 7 2 type Lcom/oracle/svm/hosted/meta/HostedType;
2 4 3 clazz Lcom/oracle/svm/hosted/meta/HostedInstanceClass;
MethodParameters:
Name Flags
object
type
private boolean addArrayElements(java.lang.Object[], boolean, java.lang.Object);
descriptor: ([Ljava/lang/Object;ZLjava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
istore 4
start local 4 1: aload 1
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 10
StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object[] int java.lang.Object int top int int java.lang.Object[]
StackMap stack:
2: aload 8
iload 6
aaload
astore 5
start local 5 3: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
aload 5
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 9
start local 9 4: invokestatic com.oracle.svm.hosted.image.NativeImageHeap.spawnIsolates:()Z
ifeq 8
5: iload 4
ifne 6
aload 9
instanceof org.graalvm.nativeimage.c.function.RelocatedPointer
ifne 6
iconst_0
goto 7
StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object[] int java.lang.Object int java.lang.Object int int java.lang.Object[] java.lang.Object
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 4
8: StackMap locals:
StackMap stack:
aload 0
aload 9
iconst_0
aload 3
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.recursiveAddObject:(Ljava/lang/Object;ZLjava/lang/Object;)V
end local 9 end local 5 9: iinc 6 1
StackMap locals: com.oracle.svm.hosted.image.NativeImageHeap java.lang.Object[] int java.lang.Object int top int int java.lang.Object[]
StackMap stack:
10: iload 6
iload 7
if_icmplt 2
11: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 12 1 array [Ljava/lang/Object;
0 12 2 otherFieldsRelocatable Z
0 12 3 reason Ljava/lang/Object;
1 12 4 relocatable Z
3 9 5 element Ljava/lang/Object;
4 9 9 value Ljava/lang/Object;
MethodParameters:
Name Flags
array
otherFieldsRelocatable
reason
private void recursiveAddObject(java.lang.Object, boolean, java.lang.Object);
descriptor: (Ljava/lang/Object;ZLjava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 2
1: aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectWorklist:Ljava/util/Deque;
new com.oracle.svm.hosted.image.NativeImageHeap$AddObjectData
dup
aload 1
iload 2
aload 3
invokespecial com.oracle.svm.hosted.image.NativeImageHeap$AddObjectData.<init>:(Ljava/lang/Object;ZLjava/lang/Object;)V
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 3 1 original Ljava/lang/Object;
0 3 2 immutableFromParent Z
0 3 3 reason Ljava/lang/Object;
MethodParameters:
Name Flags
original
immutableFromParent
reason
private void processAddObjectWorklist();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: goto 3
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectWorklist:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.image.NativeImageHeap$AddObjectData
astore 1
start local 1 2: aload 0
aload 1
getfield com.oracle.svm.hosted.image.NativeImageHeap$AddObjectData.original:Ljava/lang/Object;
aload 1
getfield com.oracle.svm.hosted.image.NativeImageHeap$AddObjectData.immutableFromParent:Z
aload 1
getfield com.oracle.svm.hosted.image.NativeImageHeap$AddObjectData.reason:Ljava/lang/Object;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addObject:(Ljava/lang/Object;ZLjava/lang/Object;)V
end local 1 3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeImageHeap.addObjectWorklist:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 1
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/image/NativeImageHeap;
2 3 1 data Lcom/oracle/svm/hosted/image/NativeImageHeap$AddObjectData;
public com.oracle.svm.core.image.ImageHeapObject addLateToImageHeap(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Lcom/oracle/svm/core/image/ImageHeapObject;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addLateToImageHeap:(Ljava/lang/Object;Ljava/lang/String;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.oracle.svm.core.image.ImageHeapObject addFillerObject(int);
descriptor: (I)Lcom/oracle/svm/core/image/ImageHeapObject;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.addFillerObject:(I)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "NativeImageHeap.java"
NestMembers:
com.oracle.svm.hosted.image.NativeImageHeap$AddObjectData com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo com.oracle.svm.hosted.image.NativeImageHeap$Phase com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue
InnerClasses:
public TypeNotFoundError = com.oracle.graal.pointsto.util.AnalysisError$TypeNotFoundError of com.oracle.graal.pointsto.util.AnalysisError
public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
AddObjectData = com.oracle.svm.hosted.image.NativeImageHeap$AddObjectData of com.oracle.svm.hosted.image.NativeImageHeap
public final ObjectInfo = com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo of com.oracle.svm.hosted.image.NativeImageHeap
protected final Phase = com.oracle.svm.hosted.image.NativeImageHeap$Phase of com.oracle.svm.hosted.image.NativeImageHeap