class jdk.internal.reflect.UnsafeFieldAccessorFactory
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.reflect.UnsafeFieldAccessorFactory
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // jdk.internal.reflect.UnsafeFieldAccessorFactory this
0: .line 31
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // jdk.internal.reflect.UnsafeFieldAccessorFactory this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/reflect/UnsafeFieldAccessorFactory;
static jdk.internal.reflect.FieldAccessor newFieldAccessor(java.lang.reflect.Field, boolean);
descriptor: (Ljava/lang/reflect/Field;Z)Ljdk/internal/reflect/FieldAccessor;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 // java.lang.reflect.Field field
start local 1 // boolean isReadOnly
0: .line 33
aload 0 /* field */
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
astore 2 /* type */
start local 2 // java.lang.Class type
1: .line 34
aload 0 /* field */
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
istore 3 /* isStatic */
start local 3 // boolean isStatic
2: .line 35
aload 0 /* field */
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
istore 4 /* isFinal */
start local 4 // boolean isFinal
3: .line 36
aload 0 /* field */
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isVolatile:(I)Z
istore 5 /* isVolatile */
start local 5 // boolean isVolatile
4: .line 37
iload 4 /* isFinal */
ifne 5
iload 5 /* isVolatile */
ifne 5
iconst_0
goto 6
StackMap locals: java.lang.reflect.Field int java.lang.Class int int int
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: istore 6 /* isQualified */
start local 6 // boolean isQualified
7: .line 38
iload 3 /* isStatic */
ifeq 44
8: .line 42
getstatic jdk.internal.reflect.UnsafeFieldAccessorImpl.unsafe:Ljdk/internal/misc/Unsafe;
aload 0 /* field */
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
invokevirtual jdk.internal.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
9: .line 44
iload 6 /* isQualified */
ifne 27
10: .line 45
aload 2 /* type */
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 12
11: .line 46
new jdk.internal.reflect.UnsafeStaticBooleanFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeStaticBooleanFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
12: .line 47
StackMap locals: int
StackMap stack:
aload 2 /* type */
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 14
13: .line 48
new jdk.internal.reflect.UnsafeStaticByteFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeStaticByteFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
14: .line 49
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 16
15: .line 50
new jdk.internal.reflect.UnsafeStaticShortFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeStaticShortFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
16: .line 51
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 18
17: .line 52
new jdk.internal.reflect.UnsafeStaticCharacterFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeStaticCharacterFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
18: .line 53
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 20
19: .line 54
new jdk.internal.reflect.UnsafeStaticIntegerFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeStaticIntegerFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
20: .line 55
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 22
21: .line 56
new jdk.internal.reflect.UnsafeStaticLongFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeStaticLongFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
22: .line 57
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 24
23: .line 58
new jdk.internal.reflect.UnsafeStaticFloatFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeStaticFloatFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
24: .line 59
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 26
25: .line 60
new jdk.internal.reflect.UnsafeStaticDoubleFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeStaticDoubleFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
26: .line 62
StackMap locals:
StackMap stack:
new jdk.internal.reflect.UnsafeStaticObjectFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeStaticObjectFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
27: .line 65
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 29
28: .line 66
new jdk.internal.reflect.UnsafeQualifiedStaticBooleanFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedStaticBooleanFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
29: .line 67
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 31
30: .line 68
new jdk.internal.reflect.UnsafeQualifiedStaticByteFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedStaticByteFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
31: .line 69
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 33
32: .line 70
new jdk.internal.reflect.UnsafeQualifiedStaticShortFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedStaticShortFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
33: .line 71
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 35
34: .line 72
new jdk.internal.reflect.UnsafeQualifiedStaticCharacterFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedStaticCharacterFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
35: .line 73
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 37
36: .line 74
new jdk.internal.reflect.UnsafeQualifiedStaticIntegerFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedStaticIntegerFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
37: .line 75
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 39
38: .line 76
new jdk.internal.reflect.UnsafeQualifiedStaticLongFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedStaticLongFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
39: .line 77
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 41
40: .line 78
new jdk.internal.reflect.UnsafeQualifiedStaticFloatFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedStaticFloatFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
41: .line 79
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 43
42: .line 80
new jdk.internal.reflect.UnsafeQualifiedStaticDoubleFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedStaticDoubleFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
43: .line 82
StackMap locals:
StackMap stack:
new jdk.internal.reflect.UnsafeQualifiedStaticObjectFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedStaticObjectFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
44: .line 86
StackMap locals:
StackMap stack:
iload 6 /* isQualified */
ifne 62
45: .line 87
aload 2 /* type */
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 47
46: .line 88
new jdk.internal.reflect.UnsafeBooleanFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeBooleanFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
47: .line 89
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 49
48: .line 90
new jdk.internal.reflect.UnsafeByteFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeByteFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
49: .line 91
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 51
50: .line 92
new jdk.internal.reflect.UnsafeShortFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeShortFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
51: .line 93
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 53
52: .line 94
new jdk.internal.reflect.UnsafeCharacterFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeCharacterFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
53: .line 95
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 55
54: .line 96
new jdk.internal.reflect.UnsafeIntegerFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeIntegerFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
55: .line 97
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 57
56: .line 98
new jdk.internal.reflect.UnsafeLongFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeLongFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
57: .line 99
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 59
58: .line 100
new jdk.internal.reflect.UnsafeFloatFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeFloatFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
59: .line 101
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 61
60: .line 102
new jdk.internal.reflect.UnsafeDoubleFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeDoubleFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
61: .line 104
StackMap locals:
StackMap stack:
new jdk.internal.reflect.UnsafeObjectFieldAccessorImpl
dup
aload 0 /* field */
invokespecial jdk.internal.reflect.UnsafeObjectFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
62: .line 107
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 64
63: .line 108
new jdk.internal.reflect.UnsafeQualifiedBooleanFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedBooleanFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
64: .line 109
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 66
65: .line 110
new jdk.internal.reflect.UnsafeQualifiedByteFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedByteFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
66: .line 111
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 68
67: .line 112
new jdk.internal.reflect.UnsafeQualifiedShortFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedShortFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
68: .line 113
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 70
69: .line 114
new jdk.internal.reflect.UnsafeQualifiedCharacterFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedCharacterFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
70: .line 115
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 72
71: .line 116
new jdk.internal.reflect.UnsafeQualifiedIntegerFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedIntegerFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
72: .line 117
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 74
73: .line 118
new jdk.internal.reflect.UnsafeQualifiedLongFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedLongFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
74: .line 119
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 76
75: .line 120
new jdk.internal.reflect.UnsafeQualifiedFloatFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedFloatFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
76: .line 121
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 78
77: .line 122
new jdk.internal.reflect.UnsafeQualifiedDoubleFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedDoubleFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
78: .line 124
StackMap locals:
StackMap stack:
new jdk.internal.reflect.UnsafeQualifiedObjectFieldAccessorImpl
dup
aload 0 /* field */
iload 1 /* isReadOnly */
invokespecial jdk.internal.reflect.UnsafeQualifiedObjectFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
end local 6 // boolean isQualified
end local 5 // boolean isVolatile
end local 4 // boolean isFinal
end local 3 // boolean isStatic
end local 2 // java.lang.Class type
end local 1 // boolean isReadOnly
end local 0 // java.lang.reflect.Field field
LocalVariableTable:
Start End Slot Name Signature
0 79 0 field Ljava/lang/reflect/Field;
0 79 1 isReadOnly Z
1 79 2 type Ljava/lang/Class<*>;
2 79 3 isStatic Z
3 79 4 isFinal Z
4 79 5 isVolatile Z
7 79 6 isQualified Z
MethodParameters:
Name Flags
field
isReadOnly
}
SourceFile: "UnsafeFieldAccessorFactory.java"