final class java.lang.invoke.VarHandleObjects$FieldStaticReadWrite extends java.lang.invoke.VarHandleObjects$FieldStaticReadOnly
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.lang.invoke.VarHandleObjects$FieldStaticReadWrite
super_class: java.lang.invoke.VarHandleObjects$FieldStaticReadOnly
{
static final java.lang.invoke.VarForm FORM;
descriptor: Ljava/lang/invoke/VarForm;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new java.lang.invoke.VarForm
dup
ldc Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
aconst_null
ldc Ljava/lang/Object;
iconst_0
anewarray java.lang.Class
invokespecial java.lang.invoke.VarForm.<init>:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)V
putstatic java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.FORM:Ljava/lang/invoke/VarForm;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(, long, java.lang.Class<?>);
descriptor: (Ljava/lang/Object;JLjava/lang/Class;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 1
lload 2
aload 4
getstatic java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.FORM:Ljava/lang/invoke/VarForm;
invokespecial java.lang.invoke.VarHandleObjects$FieldStaticReadOnly.<init>:(Ljava/lang/Object;JLjava/lang/Class;Ljava/lang/invoke/VarForm;)V
1: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 2 1 base Ljava/lang/Object;
0 2 2 fieldOffset J
0 2 4 fieldType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Object;JLjava/lang/Class<*>;)V
MethodParameters:
Name Flags
base
fieldOffset
fieldType
static void set(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: invokevirtual jdk.internal.misc.Unsafe.putObject:(Ljava/lang/Object;JLjava/lang/Object;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
value
static void setVolatile(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: invokevirtual jdk.internal.misc.Unsafe.putObjectVolatile:(Ljava/lang/Object;JLjava/lang/Object;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
value
static void setOpaque(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: invokevirtual jdk.internal.misc.Unsafe.putObjectOpaque:(Ljava/lang/Object;JLjava/lang/Object;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
value
static void setRelease(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: invokevirtual jdk.internal.misc.Unsafe.putObjectRelease:(Ljava/lang/Object;JLjava/lang/Object;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
value
static boolean compareAndSet(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
4: invokevirtual jdk.internal.misc.Unsafe.compareAndSetObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 expected Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
expected
value
static java.lang.Object compareAndExchange(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
4: invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 expected Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
expected
value
static java.lang.Object compareAndExchangeAcquire(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
4: invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeObjectAcquire:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 expected Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
expected
value
static java.lang.Object compareAndExchangeRelease(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
4: invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeObjectRelease:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 expected Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
expected
value
static boolean weakCompareAndSetPlain(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
4: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetObjectPlain:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 expected Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
expected
value
static boolean weakCompareAndSet(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
4: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 expected Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
expected
value
static boolean weakCompareAndSetAcquire(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
4: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetObjectAcquire:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 expected Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
expected
value
static boolean weakCompareAndSetRelease(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
4: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetObjectRelease:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 5 1 expected Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
expected
value
static java.lang.Object getAndSet(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: invokevirtual jdk.internal.misc.Unsafe.getAndSetObject:(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 4 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
value
static java.lang.Object getAndSetAcquire(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: invokevirtual jdk.internal.misc.Unsafe.getAndSetObjectAcquire:(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 4 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
value
static java.lang.Object getAndSetRelease(java.lang.invoke.VarHandleObjects$FieldStaticReadWrite, java.lang.Object);
descriptor: (Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.base:Ljava/lang/Object;
1: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldOffset:J
2: aload 0
getfield java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.fieldType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
3: invokevirtual jdk.internal.misc.Unsafe.getAndSetObjectRelease:(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 handle Ljava/lang/invoke/VarHandleObjects$FieldStaticReadWrite;
0 4 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
handle
value
}
SourceFile: "VarHandleObjects.java"
NestHost: java.lang.invoke.VarHandleObjects
InnerClasses:
FieldStaticReadOnly = java.lang.invoke.VarHandleObjects$FieldStaticReadOnly of java.lang.invoke.VarHandleObjects
final FieldStaticReadWrite = java.lang.invoke.VarHandleObjects$FieldStaticReadWrite of java.lang.invoke.VarHandleObjects