final class java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle extends java.lang.invoke.VarHandleByteArrayAsInts$ByteArrayViewVarHandle
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
super_class: java.lang.invoke.VarHandleByteArrayAsInts$ByteArrayViewVarHandle
{
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=9, locals=0, args_size=0
0: new java.lang.invoke.VarForm
dup
ldc Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
ldc [B
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokespecial java.lang.invoke.VarForm.<init>:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)V
putstatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.FORM:Ljava/lang/invoke/VarForm;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokespecial java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.<init>:(ZZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
0 2 1 be Z
MethodParameters:
Name Flags
be
private void <init>(boolean, boolean);
descriptor: (ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.FORM:Ljava/lang/invoke/VarForm;
iload 1
iload 2
invokespecial java.lang.invoke.VarHandleByteArrayAsInts$ByteArrayViewVarHandle.<init>:(Ljava/lang/invoke/VarForm;ZZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
0 2 1 be Z
0 2 2 exact Z
MethodParameters:
Name Flags
be
exact
public java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle withInvokeExactBehavior();
descriptor: ()Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.hasInvokeExactBehavior:()Z
ifeq 2
1: aload 0
goto 3
2: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
dup
aload 0
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iconst_1
invokespecial java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.<init>:(ZZ)V
3: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
public java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle withInvokeBehavior();
descriptor: ()Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.hasInvokeExactBehavior:()Z
ifne 2
1: aload 0
goto 3
2: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
dup
aload 0
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iconst_0
invokespecial java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.<init>:(ZZ)V
3: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
final java.lang.invoke.MethodType accessModeTypeUncached(java.lang.invoke.VarHandle$AccessType);
descriptor: (Ljava/lang/invoke/VarHandle$AccessType;)Ljava/lang/invoke/MethodType;
flags: (0x0010) ACC_FINAL
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc [B
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokevirtual java.lang.invoke.VarHandle$AccessType.accessModeType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
0 1 1 at Ljava/lang/invoke/VarHandle$AccessType;
MethodParameters:
Name Flags
at
static int index(byte[], int);
descriptor: ([BI)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
arraylength
iconst_3
isub
aconst_null
invokestatic jdk.internal.util.Preconditions.checkIndex:(IILjava/util/function/BiFunction;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ba [B
0 1 1 index I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ba
index
static long address(byte[], int);
descriptor: ([BI)J
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iload 1
i2l
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
ladd
lstore 2
start local 2 1: lload 2
ldc 3
land
lconst_0
lcmp
ifeq 3
2: iload 1
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.newIllegalStateExceptionForMisalignedAccess:(I)Ljava/lang/IllegalStateException;
athrow
3: StackMap locals: long
StackMap stack:
lload 2
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 ba [B
0 4 1 index I
1 4 2 address J
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ba
index
static int get(java.lang.invoke.VarHandle, java.lang.Object, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 3
start local 3 1: aload 1
checkcast byte[]
astore 4
start local 4 2: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
3: aload 4
4: aload 4
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
i2l
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
ladd
5: aload 3
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
6: invokevirtual jdk.internal.misc.Unsafe.getIntUnaligned:(Ljava/lang/Object;JZ)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ob Ljava/lang/invoke/VarHandle;
0 7 1 oba Ljava/lang/Object;
0 7 2 index I
1 7 3 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 7 4 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
static void set(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
3: aload 5
4: aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
i2l
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
ladd
5: iload 3
6: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
7: invokevirtual jdk.internal.misc.Unsafe.putIntUnaligned:(Ljava/lang/Object;JIZ)V
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getVolatile(java.lang.invoke.VarHandle, java.lang.Object, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 3
start local 3 1: aload 1
checkcast byte[]
astore 4
start local 4 2: aload 3
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 4
5: aload 4
aload 4
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: invokevirtual jdk.internal.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
7: invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ob Ljava/lang/invoke/VarHandle;
0 8 1 oba Ljava/lang/Object;
0 8 2 index I
1 8 3 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 8 4 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
static void setVolatile(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
3: aload 5
4: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
5: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
6: invokevirtual jdk.internal.misc.Unsafe.putIntVolatile:(Ljava/lang/Object;JI)V
7: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ob Ljava/lang/invoke/VarHandle;
0 8 1 oba Ljava/lang/Object;
0 8 2 index I
0 8 3 value I
1 8 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 8 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAcquire(java.lang.invoke.VarHandle, java.lang.Object, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 3
start local 3 1: aload 1
checkcast byte[]
astore 4
start local 4 2: aload 3
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 4
5: aload 4
aload 4
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: invokevirtual jdk.internal.misc.Unsafe.getIntAcquire:(Ljava/lang/Object;J)I
7: invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ob Ljava/lang/invoke/VarHandle;
0 8 1 oba Ljava/lang/Object;
0 8 2 index I
1 8 3 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 8 4 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
static void setRelease(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
3: aload 5
4: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
5: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
6: invokevirtual jdk.internal.misc.Unsafe.putIntRelease:(Ljava/lang/Object;JI)V
7: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ob Ljava/lang/invoke/VarHandle;
0 8 1 oba Ljava/lang/Object;
0 8 2 index I
0 8 3 value I
1 8 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 8 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getOpaque(java.lang.invoke.VarHandle, java.lang.Object, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 3
start local 3 1: aload 1
checkcast byte[]
astore 4
start local 4 2: aload 3
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 4
5: aload 4
aload 4
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: invokevirtual jdk.internal.misc.Unsafe.getIntOpaque:(Ljava/lang/Object;J)I
7: invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ob Ljava/lang/invoke/VarHandle;
0 8 1 oba Ljava/lang/Object;
0 8 2 index I
1 8 3 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 8 4 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
static void setOpaque(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
3: aload 5
4: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
5: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
6: invokevirtual jdk.internal.misc.Unsafe.putIntOpaque:(Ljava/lang/Object;JI)V
7: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ob Ljava/lang/invoke/VarHandle;
0 8 1 oba Ljava/lang/Object;
0 8 2 index I
0 8 3 value I
1 8 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 8 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static boolean compareAndSet(java.lang.invoke.VarHandle, java.lang.Object, int, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;III)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 5
start local 5 1: aload 1
checkcast byte[]
astore 6
start local 6 2: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
3: aload 6
4: aload 6
aload 6
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
5: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 4
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
6: invokevirtual jdk.internal.misc.Unsafe.compareAndSetInt:(Ljava/lang/Object;JII)Z
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ob Ljava/lang/invoke/VarHandle;
0 7 1 oba Ljava/lang/Object;
0 7 2 index I
0 7 3 expected I
0 7 4 value I
1 7 5 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 7 6 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
expected
value
static int compareAndExchange(java.lang.invoke.VarHandle, java.lang.Object, int, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;III)I
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 5
start local 5 1: aload 1
checkcast byte[]
astore 6
start local 6 2: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 6
5: aload 6
aload 6
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 4
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
7: invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeInt:(Ljava/lang/Object;JII)I
8: invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 expected I
0 9 4 value I
1 9 5 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 6 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
expected
value
static int compareAndExchangeAcquire(java.lang.invoke.VarHandle, java.lang.Object, int, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;III)I
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 5
start local 5 1: aload 1
checkcast byte[]
astore 6
start local 6 2: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 6
5: aload 6
aload 6
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 4
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
7: invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeIntAcquire:(Ljava/lang/Object;JII)I
8: invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 expected I
0 9 4 value I
1 9 5 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 6 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
expected
value
static int compareAndExchangeRelease(java.lang.invoke.VarHandle, java.lang.Object, int, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;III)I
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 5
start local 5 1: aload 1
checkcast byte[]
astore 6
start local 6 2: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 6
5: aload 6
aload 6
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 4
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
7: invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeIntRelease:(Ljava/lang/Object;JII)I
8: invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 expected I
0 9 4 value I
1 9 5 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 6 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
expected
value
static boolean weakCompareAndSetPlain(java.lang.invoke.VarHandle, java.lang.Object, int, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;III)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 5
start local 5 1: aload 1
checkcast byte[]
astore 6
start local 6 2: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
3: aload 6
4: aload 6
aload 6
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
5: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 4
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
6: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetIntPlain:(Ljava/lang/Object;JII)Z
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ob Ljava/lang/invoke/VarHandle;
0 7 1 oba Ljava/lang/Object;
0 7 2 index I
0 7 3 expected I
0 7 4 value I
1 7 5 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 7 6 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
expected
value
static boolean weakCompareAndSet(java.lang.invoke.VarHandle, java.lang.Object, int, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;III)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 5
start local 5 1: aload 1
checkcast byte[]
astore 6
start local 6 2: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
3: aload 6
4: aload 6
aload 6
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
5: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 4
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
6: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetInt:(Ljava/lang/Object;JII)Z
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ob Ljava/lang/invoke/VarHandle;
0 7 1 oba Ljava/lang/Object;
0 7 2 index I
0 7 3 expected I
0 7 4 value I
1 7 5 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 7 6 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
expected
value
static boolean weakCompareAndSetAcquire(java.lang.invoke.VarHandle, java.lang.Object, int, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;III)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 5
start local 5 1: aload 1
checkcast byte[]
astore 6
start local 6 2: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
3: aload 6
4: aload 6
aload 6
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
5: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 4
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
6: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetIntAcquire:(Ljava/lang/Object;JII)Z
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ob Ljava/lang/invoke/VarHandle;
0 7 1 oba Ljava/lang/Object;
0 7 2 index I
0 7 3 expected I
0 7 4 value I
1 7 5 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 7 6 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
expected
value
static boolean weakCompareAndSetRelease(java.lang.invoke.VarHandle, java.lang.Object, int, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;III)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 5
start local 5 1: aload 1
checkcast byte[]
astore 6
start local 6 2: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
3: aload 6
4: aload 6
aload 6
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
5: aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
aload 5
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 4
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
6: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetIntRelease:(Ljava/lang/Object;JII)Z
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ob Ljava/lang/invoke/VarHandle;
0 7 1 oba Ljava/lang/Object;
0 7 2 index I
0 7 3 expected I
0 7 4 value I
1 7 5 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 7 6 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
expected
value
static int getAndSet(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
7: invokevirtual jdk.internal.misc.Unsafe.getAndSetInt:(Ljava/lang/Object;JI)I
8: invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndSetAcquire(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
7: invokevirtual jdk.internal.misc.Unsafe.getAndSetIntAcquire:(Ljava/lang/Object;JI)I
8: invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndSetRelease(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
7: invokevirtual jdk.internal.misc.Unsafe.getAndSetIntRelease:(Ljava/lang/Object;JI)I
8: invokestatic java.lang.invoke.VarHandleByteArrayAsInts.convEndian:(ZI)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndAdd(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndAddInt:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndAddConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 delta I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
delta
static int getAndAddAcquire(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndAddIntAcquire:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndAddConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 delta I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
delta
static int getAndAddRelease(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndAddIntRelease:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndAddConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 delta I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
delta
static int getAndAddConvEndianWithCAS(byte[], int, int);
descriptor: ([BII)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
iload 1
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
lstore 5
start local 5 1: StackMap locals: byte[] int int top top long
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
lload 5
invokevirtual jdk.internal.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
istore 3
start local 3 2: iload 3
invokestatic java.lang.Integer.reverseBytes:(I)I
istore 4
start local 4 3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
lload 5
4: iload 3
iload 4
iload 2
iadd
invokestatic java.lang.Integer.reverseBytes:(I)I
5: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetInt:(Ljava/lang/Object;JII)Z
6: ifeq 1
7: iload 4
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ba [B
0 8 1 index I
0 8 2 delta I
2 8 3 nativeExpectedValue I
3 8 4 expectedValue I
1 8 5 offset J
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ba
index
delta
static int getAndBitwiseOr(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseOrInt:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndBitwiseOrConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndBitwiseOrRelease(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseOrIntRelease:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndBitwiseOrConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndBitwiseOrAcquire(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseOrIntAcquire:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndBitwiseOrConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndBitwiseOrConvEndianWithCAS(byte[], int, int);
descriptor: ([BII)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
iload 1
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
lstore 5
start local 5 1: StackMap locals: byte[] int int top top long
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
lload 5
invokevirtual jdk.internal.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
istore 3
start local 3 2: iload 3
invokestatic java.lang.Integer.reverseBytes:(I)I
istore 4
start local 4 3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
lload 5
4: iload 3
iload 4
iload 2
ior
invokestatic java.lang.Integer.reverseBytes:(I)I
5: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetInt:(Ljava/lang/Object;JII)Z
6: ifeq 1
7: iload 4
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ba [B
0 8 1 index I
0 8 2 value I
2 8 3 nativeExpectedValue I
3 8 4 expectedValue I
1 8 5 offset J
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ba
index
value
static int getAndBitwiseAnd(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseAndInt:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndBitwiseAndConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndBitwiseAndRelease(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseAndIntRelease:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndBitwiseAndConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndBitwiseAndAcquire(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseAndIntAcquire:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndBitwiseAndConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndBitwiseAndConvEndianWithCAS(byte[], int, int);
descriptor: ([BII)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
iload 1
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
lstore 5
start local 5 1: StackMap locals: byte[] int int top top long
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
lload 5
invokevirtual jdk.internal.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
istore 3
start local 3 2: iload 3
invokestatic java.lang.Integer.reverseBytes:(I)I
istore 4
start local 4 3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
lload 5
4: iload 3
iload 4
iload 2
iand
invokestatic java.lang.Integer.reverseBytes:(I)I
5: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetInt:(Ljava/lang/Object;JII)Z
6: ifeq 1
7: iload 4
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ba [B
0 8 1 index I
0 8 2 value I
2 8 3 nativeExpectedValue I
3 8 4 expectedValue I
1 8 5 offset J
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ba
index
value
static int getAndBitwiseXor(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseXorInt:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndBitwiseXorConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndBitwiseXorRelease(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseXorIntRelease:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndBitwiseXorConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndBitwiseXorAcquire(java.lang.invoke.VarHandle, java.lang.Object, int, int);
descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
checkcast java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
astore 4
start local 4 1: aload 1
checkcast byte[]
astore 5
start local 5 2: aload 4
getfield java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.be:Z
getstatic java.lang.invoke.VarHandleByteArrayAsInts.BE:Z
if_icmpne 8
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
4: aload 5
5: aload 5
aload 5
iload 2
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
6: iload 3
7: invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseXorIntAcquire:(Ljava/lang/Object;JI)I
ireturn
8: StackMap locals: java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle byte[]
StackMap stack:
aload 5
iload 2
iload 3
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.getAndBitwiseXorConvEndianWithCAS:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ob Ljava/lang/invoke/VarHandle;
0 9 1 oba Ljava/lang/Object;
0 9 2 index I
0 9 3 value I
1 9 4 handle Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
2 9 5 ba [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ob
oba
index
value
static int getAndBitwiseXorConvEndianWithCAS(byte[], int, int);
descriptor: ([BII)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
iload 1
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.index:([BI)I
invokestatic java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.address:([BI)J
lstore 5
start local 5 1: StackMap locals: byte[] int int top top long
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
lload 5
invokevirtual jdk.internal.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
istore 3
start local 3 2: iload 3
invokestatic java.lang.Integer.reverseBytes:(I)I
istore 4
start local 4 3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
lload 5
4: iload 3
iload 4
iload 2
ixor
invokestatic java.lang.Integer.reverseBytes:(I)I
5: invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetInt:(Ljava/lang/Object;JII)Z
6: ifeq 1
7: iload 4
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ba [B
0 8 1 index I
0 8 2 value I
2 8 3 nativeExpectedValue I
3 8 4 expectedValue I
1 8 5 offset J
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ba
index
value
public java.lang.invoke.VarHandle withInvokeExactBehavior();
descriptor: ()Ljava/lang/invoke/VarHandle;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.withInvokeExactBehavior:()Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.invoke.VarHandle withInvokeBehavior();
descriptor: ()Ljava/lang/invoke/VarHandle;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.withInvokeBehavior:()Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "VarHandleByteArrayAsInts.java"
NestHost: java.lang.invoke.VarHandleByteArrayAsInts
InnerClasses:
final AccessType = java.lang.invoke.VarHandle$AccessType of java.lang.invoke.VarHandle
final ArrayHandle = java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle of java.lang.invoke.VarHandleByteArrayAsInts
private abstract ByteArrayViewVarHandle = java.lang.invoke.VarHandleByteArrayAsInts$ByteArrayViewVarHandle of java.lang.invoke.VarHandleByteArrayAsInts