public class org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner extends org.graalvm.compiler.core.common.FieldsScanner
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner
super_class: org.graalvm.compiler.core.common.FieldsScanner
{
public final java.util.ArrayList<org.graalvm.compiler.graph.NodeClass$InputInfo> inputs;
descriptor: Ljava/util/ArrayList;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/NodeClass$InputInfo;>;
public final java.util.ArrayList<org.graalvm.compiler.graph.NodeClass$EdgeInfo> successors;
descriptor: Ljava/util/ArrayList;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/NodeClass$EdgeInfo;>;
int directInputs;
descriptor: I
flags: (0x0000)
int directSuccessors;
descriptor: I
flags: (0x0000)
final org.graalvm.compiler.debug.DebugContext debug;
descriptor: Lorg/graalvm/compiler/debug/DebugContext;
flags: (0x0010) 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 Lorg/graalvm/compiler/graph/NodeClass;
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 org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.graalvm.compiler.core.common.FieldsScanner$CalcOffset, org.graalvm.compiler.graph.NodeClass<?>, org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/debug/DebugContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial org.graalvm.compiler.core.common.FieldsScanner.<init>:(Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;)V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.inputs:Ljava/util/ArrayList;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.successors:Ljava/util/ArrayList;
3: aload 0
aload 3
putfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.debug:Lorg/graalvm/compiler/debug/DebugContext;
4: aload 2
ifnull 10
5: aload 2
getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
aload 0
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.inputs:Ljava/util/ArrayList;
invokestatic org.graalvm.compiler.graph.InputEdges.translateInto:(Lorg/graalvm/compiler/graph/InputEdges;Ljava/util/ArrayList;)V
6: aload 2
getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
aload 0
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.successors:Ljava/util/ArrayList;
invokestatic org.graalvm.compiler.graph.Edges.translateInto:(Lorg/graalvm/compiler/graph/Edges;Ljava/util/ArrayList;)V
7: aload 2
invokestatic org.graalvm.compiler.graph.NodeClass.access$0:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/core/common/Fields;
aload 0
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.data:Ljava/util/ArrayList;
invokestatic org.graalvm.compiler.core.common.Fields.translateInto:(Lorg/graalvm/compiler/core/common/Fields;Ljava/util/ArrayList;)V
8: aload 0
aload 2
getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
invokevirtual org.graalvm.compiler.graph.InputEdges.getDirectCount:()I
putfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.directInputs:I
9: aload 0
aload 2
getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
invokevirtual org.graalvm.compiler.graph.SuccessorEdges.getDirectCount:()I
putfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.directSuccessors:I
10: StackMap locals: org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner org.graalvm.compiler.core.common.FieldsScanner$CalcOffset org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.debug.DebugContext
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/graph/NodeClass$NodeFieldsScanner;
0 11 1 calc Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;
0 11 2 superNodeClass Lorg/graalvm/compiler/graph/NodeClass<*>;
0 11 3 debug Lorg/graalvm/compiler/debug/DebugContext;
Signature: (Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;Lorg/graalvm/compiler/graph/NodeClass<*>;Lorg/graalvm/compiler/debug/DebugContext;)V
MethodParameters:
Name Flags
calc
superNodeClass
debug
protected void scanField(java.lang.reflect.Field, long);
descriptor: (Ljava/lang/reflect/Field;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=11, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc Lorg/graalvm/compiler/graph/Node$Input;
aload 0
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokestatic org.graalvm.compiler.graph.NodeClass.getAnnotationTimed:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Lorg/graalvm/compiler/debug/DebugContext;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.compiler.graph.Node$Input
astore 4
start local 4 1: aload 1
ldc Lorg/graalvm/compiler/graph/Node$OptionalInput;
aload 0
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokestatic org.graalvm.compiler.graph.NodeClass.getAnnotationTimed:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Lorg/graalvm/compiler/debug/DebugContext;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.compiler.graph.Node$OptionalInput
astore 5
start local 5 2: aload 1
ldc Lorg/graalvm/compiler/graph/Node$Successor;
aload 0
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokestatic org.graalvm.compiler.graph.NodeClass.getAnnotationTimed:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Lorg/graalvm/compiler/debug/DebugContext;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.compiler.graph.Node$Successor
astore 6
start local 6 3: aconst_null
astore 7
aconst_null
astore 8
4: getstatic org.graalvm.compiler.graph.NodeClass.Init_FieldScanningInner:Lorg/graalvm/compiler/debug/TimerKey;
aload 0
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 9
start local 9 5: aload 1
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
astore 10
start local 10 6: aload 1
invokevirtual java.lang.reflect.Field.getModifiers:()I
istore 11
start local 11 7: aload 4
ifnonnull 8
aload 5
ifnull 31
8: StackMap locals: org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner java.lang.reflect.Field long org.graalvm.compiler.graph.Node$Input org.graalvm.compiler.graph.Node$OptionalInput org.graalvm.compiler.graph.Node$Successor java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable java.lang.Class int
StackMap stack:
getstatic org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.$assertionsDisabled:Z
ifne 9
aload 6
ifnull 9
new java.lang.AssertionError
dup
ldc "field cannot be both input and successor"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.graph.NodeClass.INPUT_LIST_CLASS:Ljava/lang/Class;
aload 10
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 17
10: iload 11
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 11
iconst_0
goto 12
StackMap locals:
StackMap stack:
11: iconst_1
StackMap locals:
StackMap stack: int
12: ldc "NodeInputList input field %s should not be final"
aload 1
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
13: iload 11
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 14
iconst_0
goto 15
StackMap locals:
StackMap stack:
14: iconst_1
StackMap locals:
StackMap stack: int
15: ldc "NodeInputList input field %s should not be public"
aload 1
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
16: goto 24
17: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.graph.NodeClass.NODE_CLASS:Ljava/lang/Class;
aload 10
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 18
aload 10
invokevirtual java.lang.Class.isInterface:()Z
ifne 18
iconst_0
goto 19
StackMap locals:
StackMap stack:
18: iconst_1
StackMap locals:
StackMap stack: int
19: ldc "invalid input type: %s"
aload 10
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
20: iload 11
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 21
iconst_0
goto 22
StackMap locals:
StackMap stack:
21: iconst_1
StackMap locals:
StackMap stack: int
22: ldc "Node input field %s should not be final"
aload 1
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
23: aload 0
dup
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.directInputs:I
iconst_1
iadd
putfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.directInputs:I
24: StackMap locals:
StackMap stack:
aload 4
ifnull 28
25: getstatic org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.$assertionsDisabled:Z
ifne 26
aload 5
ifnull 26
new java.lang.AssertionError
dup
ldc "inputs can either be optional or non-optional"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
26: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.graalvm.compiler.graph.Node$Input.value:()Lorg/graalvm/compiler/nodeinfo/InputType;
astore 12
start local 12 27: goto 29
end local 12 28: StackMap locals:
StackMap stack:
aload 5
invokeinterface org.graalvm.compiler.graph.Node$OptionalInput.value:()Lorg/graalvm/compiler/nodeinfo/InputType;
astore 12
start local 12 29: StackMap locals: org.graalvm.compiler.nodeinfo.InputType
StackMap stack:
aload 0
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.inputs:Ljava/util/ArrayList;
new org.graalvm.compiler.graph.NodeClass$InputInfo
dup
lload 2
aload 1
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
aload 10
aload 1
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
aload 12
aload 1
ldc Lorg/graalvm/compiler/graph/Node$OptionalInput;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
invokespecial org.graalvm.compiler.graph.NodeClass$InputInfo.<init>:(JLjava/lang/String;Ljava/lang/Class;Ljava/lang/Class;Lorg/graalvm/compiler/nodeinfo/InputType;Z)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 12 30: goto 57
StackMap locals:
StackMap stack:
31: aload 6
ifnull 47
32: getstatic org.graalvm.compiler.graph.NodeClass.SUCCESSOR_LIST_CLASS:Ljava/lang/Class;
aload 10
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 40
33: iload 11
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 34
iconst_0
goto 35
StackMap locals:
StackMap stack:
34: iconst_1
StackMap locals:
StackMap stack: int
35: ldc "NodeSuccessorList successor field % should not be final"
aload 1
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
36: iload 11
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 37
iconst_0
goto 38
StackMap locals:
StackMap stack:
37: iconst_1
StackMap locals:
StackMap stack: int
38: ldc "NodeSuccessorList successor field %s should not be public"
aload 1
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
39: goto 45
40: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.graph.NodeClass.NODE_CLASS:Ljava/lang/Class;
aload 10
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ldc "invalid successor type: %s"
aload 10
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
41: iload 11
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 42
iconst_0
goto 43
StackMap locals:
StackMap stack:
42: iconst_1
StackMap locals:
StackMap stack: int
43: ldc "Node successor field %s should not be final"
aload 1
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
44: aload 0
dup
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.directSuccessors:I
iconst_1
iadd
putfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.directSuccessors:I
45: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.successors:Ljava/util/ArrayList;
new org.graalvm.compiler.graph.NodeClass$EdgeInfo
dup
lload 2
aload 1
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
aload 10
aload 1
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
invokespecial org.graalvm.compiler.graph.NodeClass$EdgeInfo.<init>:(JLjava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
46: goto 57
47: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.graph.NodeClass.NODE_CLASS:Ljava/lang/Class;
aload 10
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 48
aload 1
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
ldc "Null"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 48
iconst_0
goto 49
StackMap locals:
StackMap stack:
48: iconst_1
StackMap locals:
StackMap stack: int
49: ldc "suspicious node field: %s"
aload 1
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
50: getstatic org.graalvm.compiler.graph.NodeClass.INPUT_LIST_CLASS:Ljava/lang/Class;
aload 10
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 51
iconst_0
goto 52
StackMap locals:
StackMap stack:
51: iconst_1
StackMap locals:
StackMap stack: int
52: ldc "suspicious node input list field: %s"
aload 1
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
53: getstatic org.graalvm.compiler.graph.NodeClass.SUCCESSOR_LIST_CLASS:Ljava/lang/Class;
aload 10
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 54
iconst_0
goto 55
StackMap locals:
StackMap stack:
54: iconst_1
StackMap locals:
StackMap stack: int
55: ldc "suspicious node successor list field: %s"
aload 1
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
56: aload 0
aload 1
lload 2
invokespecial org.graalvm.compiler.core.common.FieldsScanner.scanField:(Ljava/lang/reflect/Field;J)V
end local 11 end local 10 57: StackMap locals:
StackMap stack:
aload 9
ifnull 63
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 63
StackMap locals:
StackMap stack: java.lang.Throwable
58: astore 7
aload 9
ifnull 59
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 9 StackMap locals:
StackMap stack:
59: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
60: astore 8
aload 7
ifnonnull 61
aload 8
astore 7
goto 62
StackMap locals:
StackMap stack:
61: aload 7
aload 8
if_acmpeq 62
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
62: aload 7
athrow
63: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 this Lorg/graalvm/compiler/graph/NodeClass$NodeFieldsScanner;
0 64 1 field Ljava/lang/reflect/Field;
0 64 2 offset J
1 64 4 inputAnnotation Lorg/graalvm/compiler/graph/Node$Input;
2 64 5 optionalInputAnnotation Lorg/graalvm/compiler/graph/Node$OptionalInput;
3 64 6 successorAnnotation Lorg/graalvm/compiler/graph/Node$Successor;
5 59 9 s Lorg/graalvm/compiler/debug/DebugCloseable;
6 57 10 type Ljava/lang/Class<*>;
7 57 11 modifiers I
27 28 12 inputType Lorg/graalvm/compiler/nodeinfo/InputType;
29 30 12 inputType Lorg/graalvm/compiler/nodeinfo/InputType;
Exception table:
from to target type
5 57 58 any
4 60 60 any
MethodParameters:
Name Flags
field
offset
}
SourceFile: "NodeClass.java"
NestHost: org.graalvm.compiler.graph.NodeClass
InnerClasses:
public abstract CalcOffset = org.graalvm.compiler.core.common.FieldsScanner$CalcOffset of org.graalvm.compiler.core.common.FieldsScanner
public FieldInfo = org.graalvm.compiler.core.common.FieldsScanner$FieldInfo of org.graalvm.compiler.core.common.FieldsScanner
public abstract Input = org.graalvm.compiler.graph.Node$Input of org.graalvm.compiler.graph.Node
public abstract OptionalInput = org.graalvm.compiler.graph.Node$OptionalInput of org.graalvm.compiler.graph.Node
public abstract Successor = org.graalvm.compiler.graph.Node$Successor of org.graalvm.compiler.graph.Node
protected EdgeInfo = org.graalvm.compiler.graph.NodeClass$EdgeInfo of org.graalvm.compiler.graph.NodeClass
protected InputInfo = org.graalvm.compiler.graph.NodeClass$InputInfo of org.graalvm.compiler.graph.NodeClass
protected NodeFieldsScanner = org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner of org.graalvm.compiler.graph.NodeClass