public class com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl extends com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl implements org.graalvm.nativeimage.hosted.Feature$CompilationAccess
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl
super_class: com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl
{
protected final com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse;
descriptor: Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final com.oracle.svm.hosted.meta.HostedUniverse hUniverse;
descriptor: Lcom/oracle/svm/hosted/meta/HostedUniverse;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final com.oracle.svm.hosted.meta.HostedMetaAccess hMetaAccess;
descriptor: Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final com.oracle.svm.hosted.image.NativeImageHeap heap;
descriptor: Lcom/oracle/svm/hosted/image/NativeImageHeap;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
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/FeatureImpl;
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.FeatureImpl$CompilationAccessImpl.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.svm.hosted.FeatureHandler, com.oracle.svm.hosted.ImageClassLoader, com.oracle.graal.pointsto.meta.AnalysisUniverse, com.oracle.svm.hosted.meta.HostedUniverse, com.oracle.svm.hosted.meta.HostedMetaAccess, com.oracle.svm.hosted.image.NativeImageHeap, org.graalvm.compiler.debug.DebugContext);
descriptor: (Lcom/oracle/svm/hosted/FeatureHandler;Lcom/oracle/svm/hosted/ImageClassLoader;Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/svm/hosted/meta/HostedMetaAccess;Lcom/oracle/svm/hosted/image/NativeImageHeap;Lorg/graalvm/compiler/debug/DebugContext;)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 2
aload 7
invokespecial com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.<init>:(Lcom/oracle/svm/hosted/FeatureHandler;Lcom/oracle/svm/hosted/ImageClassLoader;Lorg/graalvm/compiler/debug/DebugContext;)V
1: aload 0
aload 3
putfield com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
2: aload 0
aload 4
putfield com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
3: aload 0
aload 5
putfield com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.hMetaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
4: aload 0
aload 6
putfield com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
5: return
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 6 0 this Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
0 6 1 featureHandler Lcom/oracle/svm/hosted/FeatureHandler;
0 6 2 imageClassLoader Lcom/oracle/svm/hosted/ImageClassLoader;
0 6 3 aUniverse Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
0 6 4 hUniverse Lcom/oracle/svm/hosted/meta/HostedUniverse;
0 6 5 hMetaAccess Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
0 6 6 heap Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 6 7 debugContext Lorg/graalvm/compiler/debug/DebugContext;
MethodParameters:
Name Flags
featureHandler
imageClassLoader
aUniverse
hUniverse
hMetaAccess
heap
debugContext
public long objectFieldOffset(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaField:(Ljava/lang/reflect/Field;)Lcom/oracle/svm/hosted/meta/HostedField;
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.objectFieldOffset:(Lcom/oracle/svm/hosted/meta/HostedField;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
0 1 1 field Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
field
public long objectFieldOffset(com.oracle.svm.hosted.meta.HostedField);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedField;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedField.getLocation:()I
istore 2
start local 2 1: getstatic com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.$assertionsDisabled:Z
ifne 2
iload 2
ifgt 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: int
StackMap stack:
iload 2
i2l
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
0 3 1 hField Lcom/oracle/svm/hosted/meta/HostedField;
1 3 2 result I
MethodParameters:
Name Flags
hField
public void registerAsImmutable(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
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.FeatureImpl$CompilationAccessImpl.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
aload 1
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.registerAsImmutable:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
0 2 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public void registerAsImmutable(, java.util.function.Predicate<java.lang.Object>);
descriptor: (Ljava/lang/Object;Ljava/util/function/Predicate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 3
start local 3 1: new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
astore 4
start local 4 2: aload 3
aload 1
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
3: goto 22
4: StackMap locals: java.util.Deque java.util.IdentityHashMap
StackMap stack:
aload 3
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
astore 5
start local 5 5: aload 0
aload 5
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.registerAsImmutable:(Ljava/lang/Object;)V
6: aload 0
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.optionalLookupJavaType:(Ljava/lang/Class;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 22
7: aload 5
instanceof java.lang.Object[]
ifeq 14
8: aload 5
checkcast java.lang.Object[]
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 12
StackMap locals: com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl java.lang.Object java.util.function.Predicate java.util.Deque java.util.IdentityHashMap java.lang.Object top int int java.lang.Object[]
StackMap stack:
9: aload 9
iload 7
aaload
astore 6
start local 6 10: aload 0
getfield com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
aload 6
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject:(Ljava/lang/Object;)Ljava/lang/Object;
aload 2
aload 3
aload 4
invokestatic com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.addToWorklist:(Ljava/lang/Object;Ljava/util/function/Predicate;Ljava/util/Deque;Ljava/util/IdentityHashMap;)V
end local 6 11: iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
iload 8
if_icmplt 9
13: goto 22
14: StackMap locals: com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl java.lang.Object java.util.function.Predicate java.util.Deque java.util.IdentityHashMap java.lang.Object
StackMap stack:
aload 5
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
astore 6
start local 6 15: aload 0
invokevirtual com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.getMetaAccess:()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast com.oracle.svm.hosted.meta.HostedType
iconst_1
invokevirtual com.oracle.svm.hosted.meta.HostedType.getInstanceFields:(Z)[Lcom/oracle/svm/hosted/meta/HostedField;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 21
StackMap locals: com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl java.lang.Object java.util.function.Predicate java.util.Deque java.util.IdentityHashMap java.lang.Object jdk.vm.ci.meta.JavaConstant top int int com.oracle.svm.hosted.meta.HostedField[]
StackMap stack:
16: aload 10
iload 8
aaload
astore 7
start local 7 17: aload 7
invokevirtual com.oracle.svm.hosted.meta.HostedField.isAccessed:()Z
ifeq 20
aload 7
invokevirtual com.oracle.svm.hosted.meta.HostedField.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 20
18: aload 7
aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedField.readValue:(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;
astore 11
start local 11 19: aload 11
aload 2
aload 3
aload 4
invokestatic com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.addToWorklist:(Ljava/lang/Object;Ljava/util/function/Predicate;Ljava/util/Deque;Ljava/util/IdentityHashMap;)V
end local 11 end local 7 20: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
21: iload 8
iload 9
if_icmplt 16
end local 6 end local 5 22: StackMap locals: com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl java.lang.Object java.util.function.Predicate java.util.Deque java.util.IdentityHashMap
StackMap stack:
aload 3
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 4
23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
0 24 1 root Ljava/lang/Object;
0 24 2 includeObject Ljava/util/function/Predicate<Ljava/lang/Object;>;
1 24 3 worklist Ljava/util/Deque<Ljava/lang/Object;>;
2 24 4 registeredObjects Ljava/util/IdentityHashMap<Ljava/lang/Object;Ljava/lang/Boolean;>;
5 22 5 cur Ljava/lang/Object;
10 11 6 element Ljava/lang/Object;
15 22 6 constant Ljdk/vm/ci/meta/JavaConstant;
17 20 7 field Lcom/oracle/svm/hosted/meta/HostedField;
19 20 11 fieldValue Ljava/lang/Object;
Signature: (Ljava/lang/Object;Ljava/util/function/Predicate<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
root
includeObject
private static void addToWorklist(, java.util.function.Predicate<java.lang.Object>, java.util.Deque<java.lang.Object>, java.util.IdentityHashMap<java.lang.Object, java.lang.Boolean>);
descriptor: (Ljava/lang/Object;Ljava/util/function/Predicate;Ljava/util/Deque;Ljava/util/IdentityHashMap;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ifnull 1
aload 3
aload 0
invokevirtual java.util.IdentityHashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.svm.core.hub.DynamicHub
ifne 3
aload 0
instanceof java.lang.Class
ifeq 4
3: StackMap locals:
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 1
aload 0
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ifne 6
5: return
6: StackMap locals:
StackMap stack:
aload 3
aload 0
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.util.IdentityHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 2
aload 0
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 object Ljava/lang/Object;
0 9 1 includeObject Ljava/util/function/Predicate<Ljava/lang/Object;>;
0 9 2 worklist Ljava/util/Deque<Ljava/lang/Object;>;
0 9 3 registeredObjects Ljava/util/IdentityHashMap<Ljava/lang/Object;Ljava/lang/Boolean;>;
Signature: (Ljava/lang/Object;Ljava/util/function/Predicate<Ljava/lang/Object;>;Ljava/util/Deque<Ljava/lang/Object;>;Ljava/util/IdentityHashMap<Ljava/lang/Object;Ljava/lang/Boolean;>;)V
MethodParameters:
Name Flags
object
includeObject
worklist
registeredObjects
public com.oracle.svm.hosted.meta.HostedMetaAccess getMetaAccess();
descriptor: ()Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.hMetaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
public com.oracle.svm.hosted.meta.HostedUniverse getUniverse();
descriptor: ()Lcom/oracle/svm/hosted/meta/HostedUniverse;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
public java.util.Collection<? extends com.oracle.svm.core.meta.SharedType> getTypes();
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.FeatureImpl$CompilationAccessImpl.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
Signature: ()Ljava/util/Collection<+Lcom/oracle/svm/core/meta/SharedType;>;
public java.util.Collection<? extends com.oracle.svm.core.meta.SharedField> getFields();
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.FeatureImpl$CompilationAccessImpl.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getFields:()Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
Signature: ()Ljava/util/Collection<+Lcom/oracle/svm/core/meta/SharedField;>;
public java.util.Collection<? extends com.oracle.svm.core.meta.SharedMethod> getMethods();
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.FeatureImpl$CompilationAccessImpl.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getMethods:()Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/FeatureImpl$CompilationAccessImpl;
Signature: ()Ljava/util/Collection<+Lcom/oracle/svm/core/meta/SharedMethod;>;
}
SourceFile: "FeatureImpl.java"
NestHost: com.oracle.svm.hosted.FeatureImpl
InnerClasses:
public CompilationAccessImpl = com.oracle.svm.hosted.FeatureImpl$CompilationAccessImpl of com.oracle.svm.hosted.FeatureImpl
public abstract FeatureAccessImpl = com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl of com.oracle.svm.hosted.FeatureImpl
public abstract CompilationAccess = org.graalvm.nativeimage.hosted.Feature$CompilationAccess of org.graalvm.nativeimage.hosted.Feature