class org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner extends org.graalvm.compiler.lir.LIRIntrospection$LIRFieldsScanner
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner
super_class: org.graalvm.compiler.lir.LIRIntrospection$LIRFieldsScanner
{
private java.lang.String opcodeConstant;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.compiler.core.common.FieldsScanner$FieldInfo opcodeField;
descriptor: Lorg/graalvm/compiler/core/common/FieldsScanner$FieldInfo;
flags: (0x0002) ACC_PRIVATE
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/lir/LIRInstructionClass;
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.lir.LIRInstructionClass$LIRInstructionFieldsScanner.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.graalvm.compiler.core.common.FieldsScanner$CalcOffset);
descriptor: (Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.lir.LIRIntrospection$LIRFieldsScanner.<init>:(Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;)V
1: aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.valueAnnotations:Lorg/graalvm/util/EconomicMap;
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Use;
new org.graalvm.compiler.lir.LIRIntrospection$OperandModeAnnotation
dup
invokespecial org.graalvm.compiler.lir.LIRIntrospection$OperandModeAnnotation.<init>:()V
invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.valueAnnotations:Lorg/graalvm/util/EconomicMap;
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Alive;
new org.graalvm.compiler.lir.LIRIntrospection$OperandModeAnnotation
dup
invokespecial org.graalvm.compiler.lir.LIRIntrospection$OperandModeAnnotation.<init>:()V
invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.valueAnnotations:Lorg/graalvm/util/EconomicMap;
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Temp;
new org.graalvm.compiler.lir.LIRIntrospection$OperandModeAnnotation
dup
invokespecial org.graalvm.compiler.lir.LIRIntrospection$OperandModeAnnotation.<init>:()V
invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.valueAnnotations:Lorg/graalvm/util/EconomicMap;
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Def;
new org.graalvm.compiler.lir.LIRIntrospection$OperandModeAnnotation
dup
invokespecial org.graalvm.compiler.lir.LIRIntrospection$OperandModeAnnotation.<init>:()V
invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/lir/LIRInstructionClass$LIRInstructionFieldsScanner;
0 6 1 calc Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;
MethodParameters:
Name Flags
calc
protected java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag> getFlags(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)Ljava/util/EnumSet;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: ldc Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 2
start local 2 1: aload 1
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Use;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 4
2: aload 2
aload 1
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Use;
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.compiler.lir.LIRInstruction$Use
invokeinterface org.graalvm.compiler.lir.LIRInstruction$Use.value:()[Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
pop
3: goto 14
StackMap locals: java.util.EnumSet
StackMap stack:
4: aload 1
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Alive;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 7
5: aload 2
aload 1
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Alive;
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.compiler.lir.LIRInstruction$Alive
invokeinterface org.graalvm.compiler.lir.LIRInstruction$Alive.value:()[Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
pop
6: goto 14
StackMap locals:
StackMap stack:
7: aload 1
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Temp;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 10
8: aload 2
aload 1
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Temp;
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.compiler.lir.LIRInstruction$Temp
invokeinterface org.graalvm.compiler.lir.LIRInstruction$Temp.value:()[Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
pop
9: goto 14
StackMap locals:
StackMap stack:
10: aload 1
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Def;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 13
11: aload 2
aload 1
ldc Lorg/graalvm/compiler/lir/LIRInstruction$Def;
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.compiler.lir.LIRInstruction$Def
invokeinterface org.graalvm.compiler.lir.LIRInstruction$Def.value:()[Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
pop
12: goto 14
13: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
pop
14: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/lir/LIRInstructionClass$LIRInstructionFieldsScanner;
0 15 1 field Ljava/lang/reflect/Field;
1 15 2 result Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
Signature: (Ljava/lang/reflect/Field;)Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
MethodParameters:
Name Flags
field
public void scan(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lorg/graalvm/compiler/lir/Opcode;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 2
1: aload 0
aload 1
ldc Lorg/graalvm/compiler/lir/Opcode;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.graalvm.compiler.lir.Opcode
invokeinterface org.graalvm.compiler.lir.Opcode.value:()Ljava/lang/String;
putfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeConstant:Ljava/lang/String;
2: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeField:Lorg/graalvm/compiler/core/common/FieldsScanner$FieldInfo;
3: aload 0
aload 1
ldc Lorg/graalvm/compiler/lir/LIRInstruction;
iconst_0
invokespecial org.graalvm.compiler.lir.LIRIntrospection$LIRFieldsScanner.scan:(Ljava/lang/Class;Ljava/lang/Class;Z)V
4: aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeConstant:Ljava/lang/String;
ifnonnull 8
aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeField:Lorg/graalvm/compiler/core/common/FieldsScanner$FieldInfo;
ifnonnull 8
5: aload 0
aload 1
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
putfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeConstant:Ljava/lang/String;
6: aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeConstant:Ljava/lang/String;
ldc "Op"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 8
7: aload 0
aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeConstant:Ljava/lang/String;
iconst_0
aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeConstant:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_2
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeConstant:Ljava/lang/String;
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/lir/LIRInstructionClass$LIRInstructionFieldsScanner;
0 9 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
clazz
protected void scanField(java.lang.reflect.Field, long);
descriptor: (Ljava/lang/reflect/Field;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
astore 4
start local 4 1: getstatic org.graalvm.compiler.lir.LIRInstructionClass.STATE_CLASS:Ljava/lang/Class;
aload 4
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
2: getstatic org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.$assertionsDisabled:Z
ifne 3
aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.getOperandModeAnnotation:(Ljava/lang/reflect/Field;)Lorg/graalvm/compiler/lir/LIRIntrospection$OperandModeAnnotation;
ifnull 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Field must not have operand mode annotation: "
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;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: java.lang.Class
StackMap stack:
getstatic org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.$assertionsDisabled:Z
ifne 4
aload 1
ldc Lorg/graalvm/compiler/lir/LIRInstruction$State;
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Field must have state annotation: "
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;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.states:Ljava/util/ArrayList;
new org.graalvm.compiler.core.common.FieldsScanner$FieldInfo
dup
lload 2
aload 1
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
aload 4
aload 1
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
invokespecial org.graalvm.compiler.core.common.FieldsScanner$FieldInfo.<init>:(JLjava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokespecial org.graalvm.compiler.lir.LIRIntrospection$LIRFieldsScanner.scanField:(Ljava/lang/reflect/Field;J)V
7: StackMap locals:
StackMap stack:
aload 1
ldc Lorg/graalvm/compiler/lir/Opcode;
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 12
8: getstatic org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.$assertionsDisabled:Z
ifne 10
aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeConstant:Ljava/lang/String;
ifnonnull 9
aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeField:Lorg/graalvm/compiler/core/common/FieldsScanner$FieldInfo;
ifnull 10
StackMap locals:
StackMap stack:
9: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Can have only one Opcode definition: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
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
10: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.$assertionsDisabled:Z
ifne 11
aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.data:Ljava/util/ArrayList;
aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.data:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.FieldsScanner$FieldInfo
getfield org.graalvm.compiler.core.common.FieldsScanner$FieldInfo.offset:J
lload 2
lcmp
ifeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.data:Ljava/util/ArrayList;
aload 0
getfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.data:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.FieldsScanner$FieldInfo
putfield org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner.opcodeField:Lorg/graalvm/compiler/core/common/FieldsScanner$FieldInfo;
12: StackMap locals:
StackMap stack:
return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/lir/LIRInstructionClass$LIRInstructionFieldsScanner;
0 13 1 field Ljava/lang/reflect/Field;
0 13 2 offset J
1 13 4 type Ljava/lang/Class<*>;
MethodParameters:
Name Flags
field
offset
}
SourceFile: "LIRInstructionClass.java"
NestHost: org.graalvm.compiler.lir.LIRInstructionClass
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 Alive = org.graalvm.compiler.lir.LIRInstruction$Alive of org.graalvm.compiler.lir.LIRInstruction
public abstract Def = org.graalvm.compiler.lir.LIRInstruction$Def of org.graalvm.compiler.lir.LIRInstruction
public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
public abstract State = org.graalvm.compiler.lir.LIRInstruction$State of org.graalvm.compiler.lir.LIRInstruction
public abstract Temp = org.graalvm.compiler.lir.LIRInstruction$Temp of org.graalvm.compiler.lir.LIRInstruction
public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction
private LIRInstructionFieldsScanner = org.graalvm.compiler.lir.LIRInstructionClass$LIRInstructionFieldsScanner of org.graalvm.compiler.lir.LIRInstructionClass
protected abstract LIRFieldsScanner = org.graalvm.compiler.lir.LIRIntrospection$LIRFieldsScanner of org.graalvm.compiler.lir.LIRIntrospection
protected OperandModeAnnotation = org.graalvm.compiler.lir.LIRIntrospection$OperandModeAnnotation of org.graalvm.compiler.lir.LIRIntrospection