public class org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean
super_class: java.lang.Object
{
static final int ITERATIONS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 100000
static final int WEAK_ATTEMPTS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final long V_OFFSET;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.Object STATIC_V_BASE;
descriptor: Ljava/lang/Object;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final long STATIC_V_OFFSET;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int ARRAY_OFFSET;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int ARRAY_SHIFT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static boolean staticV;
descriptor: Z
flags: (0x0008) ACC_STATIC
boolean v;
descriptor: Z
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: ldc Lorg/graalvm/compiler/replacements/jdk9/test/UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean;
ldc "staticV"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 0
start local 0 1: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.internal.misc.Unsafe.staticFieldBase:(Ljava/lang/reflect/Field;)Ljava/lang/Object;
putstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.STATIC_V_BASE:Ljava/lang/Object;
2: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.internal.misc.Unsafe.staticFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.STATIC_V_OFFSET:J
end local 0 3: goto 6
StackMap locals:
StackMap stack: java.lang.Exception
4: astore 0
start local 0 5: new java.lang.RuntimeException
dup
aload 0
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 6: StackMap locals:
StackMap stack:
ldc Lorg/graalvm/compiler/replacements/jdk9/test/UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean;
ldc "v"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 0
start local 0 7: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.internal.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.V_OFFSET:J
end local 0 8: goto 11
StackMap locals:
StackMap stack: java.lang.Exception
9: astore 0
start local 0 10: new java.lang.RuntimeException
dup
aload 0
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 11: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
ldc [Z
invokevirtual jdk.internal.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
putstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.ARRAY_OFFSET:I
12: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
ldc [Z
invokevirtual jdk.internal.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
istore 0
start local 0 13: bipush 31
iload 0
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
isub
putstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.ARRAY_SHIFT:I
end local 0 14: return
LocalVariableTable:
Start End Slot Name Signature
1 3 0 staticVField Ljava/lang/reflect/Field;
5 6 0 e Ljava/lang/Exception;
7 8 0 vField Ljava/lang/reflect/Field;
10 11 0 e Ljava/lang/Exception;
13 14 0 ascale I
Exception table:
from to target type
0 3 4 Class java.lang.Exception
6 8 9 Class java.lang.Exception
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/jdk9/test/UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean;
public static void testFieldInstance();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: new org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean
dup
invokespecial org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.<init>:()V
astore 0
start local 0 1: iconst_0
istore 1
start local 1 2: goto 5
3: StackMap locals: org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean int
StackMap stack:
aload 0
getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.V_OFFSET:J
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.testAccess:(Ljava/lang/Object;J)V
4: iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
ldc 100000
if_icmplt 3
end local 1 6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 7 0 t Lorg/graalvm/compiler/replacements/jdk9/test/UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean;
2 6 1 c I
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserForceInline()
public static void testFieldStatic();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: iconst_0
istore 0
start local 0 1: goto 4
2: StackMap locals: int
StackMap stack:
getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.STATIC_V_BASE:Ljava/lang/Object;
getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.STATIC_V_OFFSET:J
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.testAccess:(Ljava/lang/Object;J)V
3: iinc 0 1
StackMap locals:
StackMap stack:
4: iload 0
ldc 100000
if_icmplt 2
end local 0 5: return
LocalVariableTable:
Start End Slot Name Signature
1 5 0 c I
public static void testArray();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: bipush 10
newarray 4
astore 0
start local 0 1: iconst_0
istore 1
start local 1 2: goto 9
3: StackMap locals: boolean[] int
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: int
StackMap stack:
aload 0
iload 2
i2l
getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.ARRAY_SHIFT:I
lshl
getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.ARRAY_OFFSET:I
i2l
ladd
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.testAccess:(Ljava/lang/Object;J)V
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
arraylength
if_icmplt 5
end local 2 8: iinc 1 1
StackMap locals:
StackMap stack:
9: iload 1
ldc 100000
if_icmplt 3
end local 1 10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 11 0 array [Z
2 10 1 c I
4 8 2 i I
public static void testAccess(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_0
iconst_1
invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBoolean:(Ljava/lang/Object;JZZ)Z
istore 3
start local 3 1: iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "success compareAndExchange boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
2: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 3: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "success compareAndExchange boolean value"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 4: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_0
iconst_0
invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBoolean:(Ljava/lang/Object;JZZ)Z
istore 3
start local 3 5: iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "failing compareAndExchange boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
6: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 7: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "failing compareAndExchange boolean value"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 8: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_1
iconst_0
invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBooleanAcquire:(Ljava/lang/Object;JZZ)Z
istore 3
start local 3 9: iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "success compareAndExchangeAcquire boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
10: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 11: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "success compareAndExchangeAcquire boolean value"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 12: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_1
iconst_0
invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBooleanAcquire:(Ljava/lang/Object;JZZ)Z
istore 3
start local 3 13: iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "failing compareAndExchangeAcquire boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
14: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 15: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "failing compareAndExchangeAcquire boolean value"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 16: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_0
iconst_1
invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBooleanRelease:(Ljava/lang/Object;JZZ)Z
istore 3
start local 3 17: iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "success compareAndExchangeRelease boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
18: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 19: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "success compareAndExchangeRelease boolean value"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 20: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_0
iconst_0
invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBooleanRelease:(Ljava/lang/Object;JZZ)Z
istore 3
start local 3 21: iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "failing compareAndExchangeRelease boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
22: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 23: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "failing compareAndExchangeRelease boolean value"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 24: iconst_0
istore 3
start local 3 25: iconst_0
istore 4
start local 4 26: goto 29
27: StackMap locals: int int
StackMap stack:
getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_1
iconst_0
invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetBooleanPlain:(Ljava/lang/Object;JZZ)Z
istore 3
28: iinc 4 1
StackMap locals:
StackMap stack:
29: iload 4
bipush 10
if_icmpge 30
iload 3
ifeq 27
end local 4 30: StackMap locals:
StackMap stack:
iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "weakCompareAndSetPlain boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
31: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 32: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "weakCompareAndSetPlain boolean value"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 33: iconst_0
istore 3
start local 3 34: iconst_0
istore 4
start local 4 35: goto 38
36: StackMap locals: int
StackMap stack:
getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_0
iconst_1
invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetBooleanAcquire:(Ljava/lang/Object;JZZ)Z
istore 3
37: iinc 4 1
StackMap locals:
StackMap stack:
38: iload 4
bipush 10
if_icmpge 39
iload 3
ifeq 36
end local 4 39: StackMap locals:
StackMap stack:
iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "weakCompareAndSetAcquire boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
40: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 41: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "weakCompareAndSetAcquire boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 42: iconst_0
istore 3
start local 3 43: iconst_0
istore 4
start local 4 44: goto 47
45: StackMap locals: int
StackMap stack:
getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_1
iconst_0
invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetBooleanRelease:(Ljava/lang/Object;JZZ)Z
istore 3
46: iinc 4 1
StackMap locals:
StackMap stack:
47: iload 4
bipush 10
if_icmpge 48
iload 3
ifeq 45
end local 4 48: StackMap locals:
StackMap stack:
iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "weakCompareAndSetRelease boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
49: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 50: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "weakCompareAndSetRelease boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 51: iconst_0
istore 3
start local 3 52: iconst_0
istore 4
start local 4 53: goto 56
54: StackMap locals: int
StackMap stack:
getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_0
iconst_1
invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetBoolean:(Ljava/lang/Object;JZZ)Z
istore 3
55: iinc 4 1
StackMap locals:
StackMap stack:
56: iload 4
bipush 10
if_icmpge 57
iload 3
ifeq 54
end local 4 57: StackMap locals:
StackMap stack:
iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "weakCompareAndSet boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
58: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 59: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "weakCompareAndSet boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 60: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_0
invokevirtual jdk.internal.misc.Unsafe.putBoolean:(Ljava/lang/Object;JZ)V
61: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
iconst_1
invokevirtual jdk.internal.misc.Unsafe.getAndSetBoolean:(Ljava/lang/Object;JZ)Z
istore 3
start local 3 62: iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "getAndSet boolean"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
63: getstatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
lload 1
invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
istore 4
start local 4 64: iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
ldc "getAndSet boolean value"
invokestatic org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
end local 4 end local 3 65: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 base Ljava/lang/Object;
0 66 1 offset J
1 4 3 r Z
3 4 4 x Z
5 8 3 r Z
7 8 4 x Z
9 12 3 r Z
11 12 4 x Z
13 16 3 r Z
15 16 4 x Z
17 20 3 r Z
19 20 4 x Z
21 24 3 r Z
23 24 4 x Z
25 33 3 success Z
26 30 4 c I
32 33 4 x Z
34 42 3 success Z
35 39 4 c I
41 42 4 x Z
43 51 3 success Z
44 48 4 c I
50 51 4 x Z
52 60 3 success Z
53 57 4 c I
59 60 4 x Z
62 65 3 o Z
64 65 4 x Z
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserForceInline()
MethodParameters:
Name Flags
base
offset
}
SourceFile: "UnsafeReplacementsTest.java"
NestHost: org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest
InnerClasses:
public abstract BytecodeParserForceInline = org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserForceInline of org.graalvm.compiler.core.test.GraalCompilerTest
public JdkInternalMiscUnsafeAccessTestBoolean = org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean of org.graalvm.compiler.replacements.jdk9.test.UnsafeReplacementsTest