class jdk.incubator.vector.VectorIntrinsics
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.vector.VectorIntrinsics
super_class: java.lang.Object
{
static final jdk.internal.misc.Unsafe U;
descriptor: Ljdk/internal/misc/Unsafe;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final long BUFFER_ADDRESS;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final long BUFFER_LIMIT;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final long BYTE_BUFFER_HB;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final long BYTE_BUFFER_IS_READ_ONLY;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int VECTOR_ACCESS_OOB_CHECK;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic jdk.incubator.vector.VectorIntrinsics.U:Ljdk/internal/misc/Unsafe;
1: getstatic jdk.incubator.vector.VectorIntrinsics.U:Ljdk/internal/misc/Unsafe;
ldc Ljava/nio/Buffer;
ldc "address"
invokevirtual jdk.internal.misc.Unsafe.objectFieldOffset:(Ljava/lang/Class;Ljava/lang/String;)J
2: putstatic jdk.incubator.vector.VectorIntrinsics.BUFFER_ADDRESS:J
3: getstatic jdk.incubator.vector.VectorIntrinsics.U:Ljdk/internal/misc/Unsafe;
ldc Ljava/nio/Buffer;
ldc "limit"
invokevirtual jdk.internal.misc.Unsafe.objectFieldOffset:(Ljava/lang/Class;Ljava/lang/String;)J
4: putstatic jdk.incubator.vector.VectorIntrinsics.BUFFER_LIMIT:J
5: getstatic jdk.incubator.vector.VectorIntrinsics.U:Ljdk/internal/misc/Unsafe;
ldc Ljava/nio/ByteBuffer;
ldc "hb"
invokevirtual jdk.internal.misc.Unsafe.objectFieldOffset:(Ljava/lang/Class;Ljava/lang/String;)J
6: putstatic jdk.incubator.vector.VectorIntrinsics.BYTE_BUFFER_HB:J
7: getstatic jdk.incubator.vector.VectorIntrinsics.U:Ljdk/internal/misc/Unsafe;
ldc Ljava/nio/ByteBuffer;
ldc "isReadOnly"
invokevirtual jdk.internal.misc.Unsafe.objectFieldOffset:(Ljava/lang/Class;Ljava/lang/String;)J
8: putstatic jdk.incubator.vector.VectorIntrinsics.BYTE_BUFFER_IS_READ_ONLY:J
9: ldc "jdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK"
iconst_2
invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic jdk.incubator.vector.VectorIntrinsics.VECTOR_ACCESS_OOB_CHECK:I
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
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 Ljdk/incubator/vector/VectorIntrinsics;
static void requireLength(int, int);
descriptor: (II)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
if_icmpeq 2
1: iload 0
iload 1
invokestatic jdk.incubator.vector.VectorIntrinsics.requireLengthFailed:(II)Ljava/lang/IllegalArgumentException;
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 haveLength I
0 3 1 length I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
haveLength
length
static java.lang.IllegalArgumentException requireLengthFailed(int, int);
descriptor: (II)Ljava/lang/IllegalArgumentException;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: ldc "Length check failed: length %d should have been %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
1: iload 0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
2: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 3: new java.lang.IllegalArgumentException
dup
aload 2
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 haveLength I
0 4 1 length I
3 4 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
haveLength
length
static int checkFromIndexSize(int, int, int);
descriptor: (III)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.incubator.vector.VectorIntrinsics.VECTOR_ACCESS_OOB_CHECK:I
tableswitch { // 0 - 2
0: 1
1: 2
2: 3
default: 4
}
1: StackMap locals:
StackMap stack:
iload 0
ireturn
2: StackMap locals:
StackMap stack:
iload 0
iload 1
iload 2
invokestatic java.util.Objects.checkFromIndexSize:(III)I
ireturn
3: StackMap locals:
StackMap stack:
iload 0
iload 2
iload 1
iconst_1
isub
isub
invokestatic java.util.Objects.checkIndex:(II)I
ireturn
4: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 ix I
0 5 1 vlen I
0 5 2 length I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
ix
vlen
length
static jdk.incubator.vector.IntVector checkIndex(jdk.incubator.vector.IntVector, int);
descriptor: (Ljdk/incubator/vector/IntVector;I)Ljdk/incubator/vector/IntVector;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.incubator.vector.VectorIntrinsics.VECTOR_ACCESS_OOB_CHECK:I
tableswitch { // 0 - 2
0: 1
1: 2
2: 2
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.incubator.vector.VectorOperators.LT:Ljdk/incubator/vector/VectorOperators$Comparison;
iconst_0
invokevirtual jdk.incubator.vector.IntVector.compare:(Ljdk/incubator/vector/VectorOperators$Comparison;I)Ljdk/incubator/vector/VectorMask;
3: aload 0
getstatic jdk.incubator.vector.VectorOperators.GE:Ljdk/incubator/vector/VectorOperators$Comparison;
iload 1
invokevirtual jdk.incubator.vector.IntVector.compare:(Ljdk/incubator/vector/VectorOperators$Comparison;I)Ljdk/incubator/vector/VectorMask;
invokevirtual jdk.incubator.vector.VectorMask.or:(Ljdk/incubator/vector/VectorMask;)Ljdk/incubator/vector/VectorMask;
4: invokevirtual jdk.incubator.vector.VectorMask.anyTrue:()Z
ifeq 6
5: aload 0
iload 1
invokestatic jdk.incubator.vector.VectorIntrinsics.checkIndexFailed:(Ljdk/incubator/vector/IntVector;I)Ljava/lang/IndexOutOfBoundsException;
athrow
6: StackMap locals:
StackMap stack:
aload 0
areturn
7: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 vix Ljdk/incubator/vector/IntVector;
0 8 1 length I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
vix
length
private static java.lang.IndexOutOfBoundsException checkIndexFailed(jdk.incubator.vector.IntVector, int);
descriptor: (Ljdk/incubator/vector/IntVector;I)Ljava/lang/IndexOutOfBoundsException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: ldc "Range check failed: vector %s out of bounds for length %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: new java.lang.IndexOutOfBoundsException
dup
aload 2
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 vix Ljdk/incubator/vector/IntVector;
0 2 1 length I
1 2 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
vix
length
static int roundDown(int, int);
descriptor: (II)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iload 1
iconst_1
isub
iand
ifne 2
1: iload 0
iload 1
iconst_1
isub
iconst_m1
ixor
iand
ireturn
2: StackMap locals:
StackMap stack:
iload 0
iload 1
invokestatic jdk.incubator.vector.VectorIntrinsics.roundDownNPOT:(II)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 index I
0 3 1 size I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
index
size
private static int roundDownNPOT(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iflt 2
1: iload 0
iload 0
iload 1
irem
isub
ireturn
2: StackMap locals:
StackMap stack:
iload 0
iload 0
iload 1
invokestatic java.lang.Math.abs:(I)I
invokestatic java.lang.Math.floorMod:(II)I
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 index I
0 3 1 size I
MethodParameters:
Name Flags
index
size
static int wrapToRange(int, int);
descriptor: (II)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iload 1
iconst_1
isub
iand
ifne 2
1: iload 0
iload 1
iconst_1
isub
iand
ireturn
2: StackMap locals:
StackMap stack:
iload 0
iload 1
invokestatic jdk.incubator.vector.VectorIntrinsics.wrapToRangeNPOT:(II)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 index I
0 3 1 size I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
index
size
private static int wrapToRangeNPOT(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iflt 2
1: iload 0
iload 1
irem
ireturn
2: StackMap locals:
StackMap stack:
iload 0
iload 1
invokestatic java.lang.Math.abs:(I)I
invokestatic java.lang.Math.floorMod:(II)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 index I
0 3 1 size I
MethodParameters:
Name Flags
index
size
static java.lang.Object bufferBase(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic jdk.incubator.vector.VectorIntrinsics.U:Ljdk/internal/misc/Unsafe;
aload 0
getstatic jdk.incubator.vector.VectorIntrinsics.BYTE_BUFFER_HB:J
invokevirtual jdk.internal.misc.Unsafe.getReference:(Ljava/lang/Object;J)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bb Ljava/nio/ByteBuffer;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
bb
static long bufferAddress(java.nio.ByteBuffer, long);
descriptor: (Ljava/nio/ByteBuffer;J)J
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic jdk.incubator.vector.VectorIntrinsics.U:Ljdk/internal/misc/Unsafe;
aload 0
getstatic jdk.incubator.vector.VectorIntrinsics.BUFFER_ADDRESS:J
invokevirtual jdk.internal.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
lload 1
ladd
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bb Ljava/nio/ByteBuffer;
0 1 1 offset J
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
bb
offset
}
SourceFile: "VectorIntrinsics.java"
InnerClasses:
public abstract Comparison = jdk.incubator.vector.VectorOperators$Comparison of jdk.incubator.vector.VectorOperators