public final class jdk.incubator.vector.VectorShape extends java.lang.Enum<jdk.incubator.vector.VectorShape>
minor version: 0
major version: 59
flags: flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
this_class: jdk.incubator.vector.VectorShape
super_class: java.lang.Enum
{
public static final jdk.incubator.vector.VectorShape S_64_BIT;
descriptor: Ljdk/incubator/vector/VectorShape;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final jdk.incubator.vector.VectorShape S_128_BIT;
descriptor: Ljdk/incubator/vector/VectorShape;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final jdk.incubator.vector.VectorShape S_256_BIT;
descriptor: Ljdk/incubator/vector/VectorShape;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final jdk.incubator.vector.VectorShape S_512_BIT;
descriptor: Ljdk/incubator/vector/VectorShape;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final jdk.incubator.vector.VectorShape S_Max_BIT;
descriptor: Ljdk/incubator/vector/VectorShape;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
final int vectorBitSize;
descriptor: I
flags: (0x0010) ACC_FINAL
final int vectorBitSizeLog2;
descriptor: I
flags: (0x0010) ACC_FINAL
final int switchKey;
descriptor: I
flags: (0x0010) ACC_FINAL
static final int MAX_VECTOR_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2048
static final int INC_VECTOR_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 128
static final int SK_64_BIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int SK_128_BIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int SK_256_BIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int SK_512_BIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int SK_Max_BIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final int SK_LIMIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static jdk.incubator.vector.VectorShape PREFERRED_SHAPE;
descriptor: Ljdk/incubator/vector/VectorShape;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static final jdk.incubator.vector.VectorShape[] ENUM$VALUES;
descriptor: [Ljdk/incubator/vector/VectorShape;
flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=0
0: ldc Ljdk/incubator/vector/VectorShape;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.incubator.vector.VectorShape.$assertionsDisabled:Z
3: new jdk.incubator.vector.VectorShape
dup
ldc "S_64_BIT"
iconst_0
4: bipush 64
invokespecial jdk.incubator.vector.VectorShape.<init>:(Ljava/lang/String;II)V
putstatic jdk.incubator.vector.VectorShape.S_64_BIT:Ljdk/incubator/vector/VectorShape;
5: new jdk.incubator.vector.VectorShape
dup
ldc "S_128_BIT"
iconst_1
6: sipush 128
invokespecial jdk.incubator.vector.VectorShape.<init>:(Ljava/lang/String;II)V
putstatic jdk.incubator.vector.VectorShape.S_128_BIT:Ljdk/incubator/vector/VectorShape;
7: new jdk.incubator.vector.VectorShape
dup
ldc "S_256_BIT"
iconst_2
8: sipush 256
invokespecial jdk.incubator.vector.VectorShape.<init>:(Ljava/lang/String;II)V
putstatic jdk.incubator.vector.VectorShape.S_256_BIT:Ljdk/incubator/vector/VectorShape;
9: new jdk.incubator.vector.VectorShape
dup
ldc "S_512_BIT"
iconst_3
10: sipush 512
invokespecial jdk.incubator.vector.VectorShape.<init>:(Ljava/lang/String;II)V
putstatic jdk.incubator.vector.VectorShape.S_512_BIT:Ljdk/incubator/vector/VectorShape;
11: new jdk.incubator.vector.VectorShape
dup
ldc "S_Max_BIT"
iconst_4
12: getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
invokestatic jdk.incubator.vector.VectorShape.getMaxVectorBitSize:(Ljava/lang/Class;)I
invokespecial jdk.incubator.vector.VectorShape.<init>:(Ljava/lang/String;II)V
putstatic jdk.incubator.vector.VectorShape.S_Max_BIT:Ljdk/incubator/vector/VectorShape;
iconst_5
anewarray jdk.incubator.vector.VectorShape
dup
iconst_0
getstatic jdk.incubator.vector.VectorShape.S_64_BIT:Ljdk/incubator/vector/VectorShape;
aastore
dup
iconst_1
getstatic jdk.incubator.vector.VectorShape.S_128_BIT:Ljdk/incubator/vector/VectorShape;
aastore
dup
iconst_2
getstatic jdk.incubator.vector.VectorShape.S_256_BIT:Ljdk/incubator/vector/VectorShape;
aastore
dup
iconst_3
getstatic jdk.incubator.vector.VectorShape.S_512_BIT:Ljdk/incubator/vector/VectorShape;
aastore
dup
iconst_4
getstatic jdk.incubator.vector.VectorShape.S_Max_BIT:Ljdk/incubator/vector/VectorShape;
aastore
putstatic jdk.incubator.vector.VectorShape.ENUM$VALUES:[Ljdk/incubator/vector/VectorShape;
13: invokestatic jdk.incubator.vector.VectorShape.values:()[Ljdk/incubator/vector/VectorShape;
dup
astore 3
arraylength
istore 2
iconst_0
istore 1
goto 17
StackMap locals: top int int jdk.incubator.vector.VectorShape[]
StackMap stack:
14: aload 3
iload 1
aaload
astore 0
start local 0 15: getstatic jdk.incubator.vector.VectorShape.$assertionsDisabled:Z
ifne 16
aload 0
getfield jdk.incubator.vector.VectorShape.switchKey:I
invokestatic jdk.incubator.vector.VectorShape.ofSwitchKey:(I)Ljdk/incubator/vector/VectorShape;
aload 0
if_acmpeq 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 0 16: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
17: iload 1
iload 2
if_icmplt 14
18: return
LocalVariableTable:
Start End Slot Name Signature
15 16 0 vs Ljdk/incubator/vector/VectorShape;
private void <init>(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 1
iload 2
invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
1: aload 0
iconst_1
aload 0
invokevirtual jdk.incubator.vector.VectorShape.ordinal:()I
iadd
putfield jdk.incubator.vector.VectorShape.switchKey:I
2: aload 0
iload 3
putfield jdk.incubator.vector.VectorShape.vectorBitSize:I
3: aload 0
iload 3
invokestatic java.lang.Integer.numberOfTrailingZeros:(I)I
putfield jdk.incubator.vector.VectorShape.vectorBitSizeLog2:I
4: return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/vector/VectorShape;
0 5 3 vectorBitSize I
MethodParameters:
Name Flags
$enum$name
$enum$ordinal
vectorBitSize
public int vectorBitSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.vector.VectorShape.vectorBitSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/vector/VectorShape;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
int laneCount(jdk.incubator.vector.VectorSpecies<?>);
descriptor: (Ljdk/incubator/vector/VectorSpecies;)I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.vector.VectorShape.vectorBitSize:()I
aload 1
invokeinterface jdk.incubator.vector.VectorSpecies.elementSize:()I
idiv
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/vector/VectorShape;
0 1 1 species Ljdk/incubator/vector/VectorSpecies<*>;
Signature: (Ljdk/incubator/vector/VectorSpecies<*>;)I
MethodParameters:
Name Flags
species
public <E> jdk.incubator.vector.VectorSpecies<E> withLanes(java.lang.Class<E>);
descriptor: (Ljava/lang/Class;)Ljdk/incubator/vector/VectorSpecies;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokestatic jdk.incubator.vector.VectorSpecies.of:(Ljava/lang/Class;Ljdk/incubator/vector/VectorShape;)Ljdk/incubator/vector/VectorSpecies;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/vector/VectorShape;
0 1 1 elementType Ljava/lang/Class<TE;>;
Signature: <E:Ljava/lang/Object;>(Ljava/lang/Class<TE;>;)Ljdk/incubator/vector/VectorSpecies<TE;>;
MethodParameters:
Name Flags
elementType
public static jdk.incubator.vector.VectorShape forBitSize(int);
descriptor: (I)Ljdk/incubator/vector/VectorShape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iload 0
lookupswitch { // 4
64: 1
128: 2
256: 3
512: 4
default: 5
}
1: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_64_BIT:Ljdk/incubator/vector/VectorShape;
areturn
2: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_128_BIT:Ljdk/incubator/vector/VectorShape;
areturn
3: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_256_BIT:Ljdk/incubator/vector/VectorShape;
areturn
4: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_512_BIT:Ljdk/incubator/vector/VectorShape;
areturn
5: StackMap locals:
StackMap stack:
iload 0
ifle 7
iload 0
sipush 2048
if_icmpgt 7
iload 0
sipush 128
irem
ifne 7
6: getstatic jdk.incubator.vector.VectorShape.S_Max_BIT:Ljdk/incubator/vector/VectorShape;
areturn
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Bad vector bit-size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 bitSize I
MethodParameters:
Name Flags
bitSize
public static jdk.incubator.vector.VectorShape forIndexBitSize(int, int);
descriptor: (II)Ljdk/incubator/vector/VectorShape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iload 0
lookupswitch { // 5
32: 1
64: 1
128: 2
256: 3
512: 4
default: 5
}
1: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_64_BIT:Ljdk/incubator/vector/VectorShape;
areturn
2: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_128_BIT:Ljdk/incubator/vector/VectorShape;
areturn
3: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_256_BIT:Ljdk/incubator/vector/VectorShape;
areturn
4: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_512_BIT:Ljdk/incubator/vector/VectorShape;
areturn
5: StackMap locals:
StackMap stack:
sipush 2048
iload 1
idiv
bipush 32
imul
istore 2
start local 2 6: sipush 128
iload 1
idiv
bipush 32
imul
istore 3
start local 3 7: iload 0
ifle 9
iload 0
iload 2
if_icmpgt 9
iload 0
iload 3
irem
ifne 9
8: getstatic jdk.incubator.vector.VectorShape.S_Max_BIT:Ljdk/incubator/vector/VectorShape;
areturn
9: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Bad index vector bit-size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 indexBitSize I
0 10 1 elementSize I
6 10 2 maxBitSize I
7 10 3 step I
MethodParameters:
Name Flags
indexBitSize
elementSize
static jdk.incubator.vector.VectorShape ofSwitchKey(int);
descriptor: (I)Ljdk/incubator/vector/VectorShape;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 1 - 5
1: 1
2: 2
3: 3
4: 4
5: 5
default: 6
}
1: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_64_BIT:Ljdk/incubator/vector/VectorShape;
areturn
2: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_128_BIT:Ljdk/incubator/vector/VectorShape;
areturn
3: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_256_BIT:Ljdk/incubator/vector/VectorShape;
areturn
4: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_512_BIT:Ljdk/incubator/vector/VectorShape;
areturn
5: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.S_Max_BIT:Ljdk/incubator/vector/VectorShape;
areturn
6: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 sk I
MethodParameters:
Name Flags
sk
static jdk.incubator.vector.VectorShape largestShapeFor(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/incubator/vector/VectorShape;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.incubator.vector.VectorShape.getMaxVectorBitSize:(Ljava/lang/Class;)I
invokestatic jdk.incubator.vector.VectorShape.forBitSize:(I)Ljdk/incubator/vector/VectorShape;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 etype Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljdk/incubator/vector/VectorShape;
MethodParameters:
Name Flags
etype
public static jdk.incubator.vector.VectorShape preferredShape();
descriptor: ()Ljdk/incubator/vector/VectorShape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: getstatic jdk.incubator.vector.VectorShape.PREFERRED_SHAPE:Ljdk/incubator/vector/VectorShape;
astore 0
start local 0 1: aload 0
ifnull 3
2: aload 0
areturn
3: StackMap locals: jdk.incubator.vector.VectorShape
StackMap stack:
invokestatic jdk.incubator.vector.VectorShape.computePreferredShape:()Ljdk/incubator/vector/VectorShape;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 shape Ljdk/incubator/vector/VectorShape;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
private static jdk.incubator.vector.VectorShape computePreferredShape();
descriptor: ()Ljdk/incubator/vector/VectorShape;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=0
0: ldc 2147483647
istore 0
start local 0 1: invokestatic jdk.incubator.vector.LaneType.values:()[Ljdk/incubator/vector/LaneType;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 6
StackMap locals: int top int int jdk.incubator.vector.LaneType[]
StackMap stack:
2: aload 4
iload 2
aaload
astore 1
start local 1 3: aload 1
getfield jdk.incubator.vector.LaneType.elementType:Ljava/lang/Class;
astore 5
start local 5 4: iload 0
aload 5
invokestatic jdk.incubator.vector.VectorShape.getMaxVectorBitSize:(Ljava/lang/Class;)I
invokestatic java.lang.Math.min:(II)I
istore 0
end local 5 end local 1 5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 2
7: getstatic jdk.incubator.vector.VectorShape.$assertionsDisabled:Z
ifne 9
iload 0
bipush 64
if_icmplt 8
iload 0
ldc 33554431
if_icmplt 9
StackMap locals: int
StackMap stack:
8: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
getstatic jdk.incubator.vector.VectorShape.$assertionsDisabled:Z
ifne 10
iload 0
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
invokestatic jdk.incubator.vector.VectorShape.getMaxVectorBitSize:(Ljava/lang/Class;)I
if_icmpeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
iload 0
invokestatic jdk.incubator.vector.VectorShape.forBitSize:(I)Ljdk/incubator/vector/VectorShape;
astore 1
start local 1 11: aload 1
putstatic jdk.incubator.vector.VectorShape.PREFERRED_SHAPE:Ljdk/incubator/vector/VectorShape;
12: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 13 0 prefBitSize I
3 5 1 type Ljdk/incubator/vector/LaneType;
4 5 5 etype Ljava/lang/Class<*>;
11 13 1 shape Ljdk/incubator/vector/VectorShape;
static int getMaxVectorBitSize(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.vm.vector.VectorSupport.getMaxLaneCount:(Ljava/lang/Class;)I
istore 1
start local 1 1: aload 0
invokestatic jdk.incubator.vector.LaneType.of:(Ljava/lang/Class;)Ljdk/incubator/vector/LaneType;
getfield jdk.incubator.vector.LaneType.elementSize:I
istore 2
start local 2 2: iload 1
iload 2
imul
getstatic jdk.incubator.vector.VectorShape.S_64_BIT:Ljdk/incubator/vector/VectorShape;
getfield jdk.incubator.vector.VectorShape.vectorBitSize:I
invokestatic java.lang.Math.max:(II)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 etype Ljava/lang/Class<*>;
1 3 1 maxLaneCount I
2 3 2 elementSizeInBits I
Signature: (Ljava/lang/Class<*>;)I
MethodParameters:
Name Flags
etype
public static jdk.incubator.vector.VectorShape[] values();
descriptor: ()[Ljdk/incubator/vector/VectorShape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: getstatic jdk.incubator.vector.VectorShape.ENUM$VALUES:[Ljdk/incubator/vector/VectorShape;
dup
astore 0
iconst_0
aload 0
arraylength
dup
istore 1
anewarray jdk.incubator.vector.VectorShape
dup
astore 2
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
aload 2
areturn
LocalVariableTable:
Start End Slot Name Signature
public static jdk.incubator.vector.VectorShape valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/incubator/vector/VectorShape;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
0: ldc Ljdk/incubator/vector/VectorShape;
aload 0
invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
checkcast jdk.incubator.vector.VectorShape
areturn
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
name
}
Signature: Ljava/lang/Enum<Ljdk/incubator/vector/VectorShape;>;
SourceFile: "VectorShape.java"