public abstract class org.graalvm.compiler.asm.amd64.AMD64BaseAssembler extends org.graalvm.compiler.asm.Assembler
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
super_class: org.graalvm.compiler.asm.Assembler
{
private final org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder simdEncoder;
descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int MinEncodingNeedsRex;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int NOT_SUPPORTED_VECTOR_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AVXKind$AVXSize;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
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 org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.code.TargetDescription);
descriptor: (Ljdk/vm/ci/code/TargetDescription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.asm.Assembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
1: aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 4
2: aload 0
new org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXEncoderImpl
dup
aload 0
invokespecial org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXEncoderImpl.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;)V
putfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
3: goto 5
4: StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.TargetDescription
StackMap stack:
aload 0
new org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SSEEncoderImpl
dup
aload 0
invokespecial org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SSEEncoderImpl.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;)V
putfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 6 1 target Ljdk/vm/ci/code/TargetDescription;
MethodParameters:
Name Flags
target
protected void annotatePatchingImmediate(int, int);
descriptor: (II)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.codePatchingAnnotationConsumer:Ljava/util/function/Consumer;
ifnull 3
1: aload 0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.position:()I
istore 3
start local 3 2: aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.codePatchingAnnotationConsumer:Ljava/util/function/Consumer;
new org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$ImmediateOperandAnnotation
dup
iload 3
iload 3
iload 1
iadd
iload 2
iload 3
iload 1
iadd
iload 2
iadd
invokespecial org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$ImmediateOperandAnnotation.<init>:(IIII)V
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 3 3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 4 1 operandOffset I
0 4 2 operandSize I
2 3 3 pos I
MethodParameters:
Name Flags
operandOffset
operandSize
public final boolean supports(jdk.vm.ci.amd64.AMD64$CPUFeature);
descriptor: (Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
checkcast jdk.vm.ci.amd64.AMD64
invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
aload 1
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 1 1 feature Ljdk/vm/ci/amd64/AMD64$CPUFeature;
MethodParameters:
Name Flags
feature
protected static boolean inRC(jdk.vm.ci.code.Register$RegisterCategory, jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/code/Register;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
aload 0
invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 rc Ljdk/vm/ci/code/Register$RegisterCategory;
0 1 1 r Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
rc
r
protected static int encode(jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 3
aload 0
getfield jdk.vm.ci.code.Register.encoding:I
iflt 2
getstatic jdk.vm.ci.amd64.AMD64.XMM:Ljdk/vm/ci/code/Register$RegisterCategory;
aload 0
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.inRC:(Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/code/Register;)Z
ifeq 1
aload 0
getfield jdk.vm.ci.code.Register.encoding:I
bipush 32
if_icmplt 3
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield jdk.vm.ci.code.Register.encoding:I
bipush 16
if_icmplt 3
StackMap locals:
StackMap stack:
2: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "encoding out of range: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.vm.ci.code.Register.encoding:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.code.Register.encoding:I
bipush 7
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 r Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
r
protected final void rexw();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 72
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
protected final void prefix(jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.prefix:(Ljdk/vm/ci/code/Register;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 2 1 reg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
reg
protected final void prefix(jdk.vm.ci.code.Register, boolean);
descriptor: (Ljdk/vm/ci/code/Register;Z)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield jdk.vm.ci.code.Register.encoding:I
istore 3
start local 3 1: iload 3
bipush 8
if_icmplt 4
2: aload 0
bipush 65
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
3: goto 6
StackMap locals: int
StackMap stack:
4: iload 2
ifeq 6
iload 3
iconst_4
if_icmplt 6
5: aload 0
bipush 64
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 7 1 reg Ljdk/vm/ci/code/Register;
0 7 2 byteinst Z
1 7 3 regEnc I
MethodParameters:
Name Flags
reg
byteinst
protected final void prefixq(jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
if_icmpge 3
1: aload 0
bipush 72
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
bipush 73
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 5 1 reg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
reg
protected final void prefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
aload 2
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.prefix:(Ljdk/vm/ci/code/Register;ZLjdk/vm/ci/code/Register;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 2 1 dst Ljdk/vm/ci/code/Register;
0 2 2 src Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
dst
src
protected final void prefix(jdk.vm.ci.code.Register, boolean, jdk.vm.ci.code.Register, boolean);
descriptor: (Ljdk/vm/ci/code/Register;ZLjdk/vm/ci/code/Register;Z)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
getfield jdk.vm.ci.code.Register.encoding:I
istore 5
start local 5 1: aload 3
getfield jdk.vm.ci.code.Register.encoding:I
istore 6
start local 6 2: iload 5
bipush 8
if_icmpge 10
3: iload 6
bipush 8
if_icmplt 6
4: aload 0
bipush 65
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
5: goto 14
StackMap locals: int int
StackMap stack:
6: iload 4
ifeq 7
iload 6
iconst_4
if_icmpge 8
StackMap locals:
StackMap stack:
7: iload 2
ifeq 14
iload 5
iconst_4
if_icmplt 14
8: StackMap locals:
StackMap stack:
aload 0
bipush 64
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
9: goto 14
10: StackMap locals:
StackMap stack:
iload 6
bipush 8
if_icmpge 13
11: aload 0
bipush 68
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
bipush 69
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
14: StackMap locals:
StackMap stack:
return
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 15 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 15 1 dst Ljdk/vm/ci/code/Register;
0 15 2 dstIsByte Z
0 15 3 src Ljdk/vm/ci/code/Register;
0 15 4 srcIsByte Z
1 15 5 dstEnc I
2 15 6 srcEnc I
MethodParameters:
Name Flags
dst
dstIsByte
src
srcIsByte
protected final void prefixq(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield jdk.vm.ci.code.Register.encoding:I
istore 3
start local 3 1: aload 2
getfield jdk.vm.ci.code.Register.encoding:I
istore 4
start local 4 2: iload 3
bipush 8
if_icmpge 8
3: iload 4
bipush 8
if_icmpge 6
4: aload 0
bipush 72
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
5: goto 12
6: StackMap locals: int int
StackMap stack:
aload 0
bipush 73
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
7: goto 12
8: StackMap locals:
StackMap stack:
iload 4
bipush 8
if_icmpge 11
9: aload 0
bipush 76
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
bipush 77
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
12: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 13 1 reg Ljdk/vm/ci/code/Register;
0 13 2 rm Ljdk/vm/ci/code/Register;
1 13 3 regEnc I
2 13 4 rmEnc I
MethodParameters:
Name Flags
reg
rm
private static boolean needsRex(jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 reg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
reg
protected final void prefix(org.graalvm.compiler.asm.amd64.AMD64Address);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 6
1: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 4
2: aload 0
bipush 67
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
3: goto 8
4: StackMap locals:
StackMap stack:
aload 0
bipush 65
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
5: goto 8
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 8
7: aload 0
bipush 66
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 9 1 adr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
MethodParameters:
Name Flags
adr
protected final void prefixq(org.graalvm.compiler.asm.amd64.AMD64Address);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 6
1: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 4
2: aload 0
bipush 75
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
3: goto 10
4: StackMap locals:
StackMap stack:
aload 0
bipush 73
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
5: goto 10
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 9
7: aload 0
bipush 74
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
bipush 72
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 11 1 adr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
MethodParameters:
Name Flags
adr
protected void prefixb(org.graalvm.compiler.asm.amd64.AMD64Address, jdk.vm.ci.code.Register);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.prefix:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 2 1 adr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 2 2 reg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
adr
reg
protected void prefix(org.graalvm.compiler.asm.amd64.AMD64Address, jdk.vm.ci.code.Register);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.prefix:(Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 2 1 adr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 2 2 reg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
adr
reg
protected void prefix(org.graalvm.compiler.asm.amd64.AMD64Address, jdk.vm.ci.code.Register, boolean);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
if_icmpge 13
1: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 7
2: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 5
3: aload 0
bipush 67
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
4: goto 23
5: StackMap locals:
StackMap stack:
aload 0
bipush 65
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
6: goto 23
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 10
8: aload 0
bipush 66
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
9: goto 23
StackMap locals:
StackMap stack:
10: iload 3
ifeq 23
aload 2
getfield jdk.vm.ci.code.Register.encoding:I
iconst_4
if_icmplt 23
11: aload 0
bipush 64
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
12: goto 23
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 19
14: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 17
15: aload 0
bipush 71
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
16: goto 23
17: StackMap locals:
StackMap stack:
aload 0
bipush 69
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
18: goto 23
19: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 22
20: aload 0
bipush 70
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
bipush 68
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
23: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 24 1 adr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 24 2 reg Ljdk/vm/ci/code/Register;
0 24 3 byteinst Z
MethodParameters:
Name Flags
adr
reg
byteinst
protected void prefixq(org.graalvm.compiler.asm.amd64.AMD64Address, jdk.vm.ci.code.Register);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address;Ljdk/vm/ci/code/Register;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
if_icmpge 12
1: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 7
2: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 5
3: aload 0
bipush 75
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
4: goto 22
5: StackMap locals:
StackMap stack:
aload 0
bipush 73
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
6: goto 22
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 10
8: aload 0
bipush 74
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
9: goto 22
10: StackMap locals:
StackMap stack:
aload 0
bipush 72
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
11: goto 22
12: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 18
13: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 16
14: aload 0
bipush 79
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
15: goto 22
16: StackMap locals:
StackMap stack:
aload 0
bipush 77
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
17: goto 22
18: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.needsRex:(Ljdk/vm/ci/code/Register;)Z
ifeq 21
19: aload 0
bipush 78
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
bipush 76
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 23 1 adr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 23 2 src Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
adr
src
protected static int getRXB(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
iand
StackMap locals:
StackMap stack: int
2: iconst_1
ishr
istore 2
start local 2 3: iload 2
aload 1
ifnonnull 4
iconst_0
goto 5
StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
StackMap stack: int
4: aload 1
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
iand
StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
StackMap stack: int int
5: iconst_3
ishr
ior
istore 2
6: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 reg Ljdk/vm/ci/code/Register;
0 7 1 rm Ljdk/vm/ci/code/Register;
3 7 2 rxb I
MethodParameters:
Name Flags
reg
rm
protected static int getRXB(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address);
descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
iand
StackMap locals:
StackMap stack: int
2: iconst_1
ishr
istore 2
start local 2 3: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 5
4: iload 2
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
iand
iconst_2
ishr
ior
istore 2
5: StackMap locals: int
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 7
6: iload 2
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
iand
iconst_3
ishr
ior
istore 2
7: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 reg Ljdk/vm/ci/code/Register;
0 8 1 rm Lorg/graalvm/compiler/asm/amd64/AMD64Address;
3 8 2 rxb I
MethodParameters:
Name Flags
reg
rm
protected final void emitModRM(int, jdk.vm.ci.code.Register);
descriptor: (ILjdk/vm/ci/code/Register;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 1
iload 1
bipush 7
iand
iload 1
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
sipush 192
iload 1
iconst_3
ishl
ior
aload 2
getfield jdk.vm.ci.code.Register.encoding:I
bipush 7
iand
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 3 1 reg I
0 3 2 rm Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
reg
rm
protected final void emitModRM(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield jdk.vm.ci.code.Register.encoding:I
bipush 7
iand
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitModRM:(ILjdk/vm/ci/code/Register;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 2 1 reg Ljdk/vm/ci/code/Register;
0 2 2 rm Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
reg
rm
protected final void emitOperandHelper(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, boolean, int);
descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;ZI)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 1
aload 1
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
aload 2
iload 3
iload 4
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitOperandHelper:(ILorg/graalvm/compiler/asm/amd64/AMD64Address;ZII)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 3 1 reg Ljdk/vm/ci/code/Register;
0 3 2 addr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 3 3 force4Byte Z
0 3 4 additionalInstructionSize I
MethodParameters:
Name Flags
reg
addr
force4Byte
additionalInstructionSize
protected final void emitOperandHelper(int, org.graalvm.compiler.asm.amd64.AMD64Address, int);
descriptor: (ILorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
iconst_0
iload 3
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitOperandHelper:(ILorg/graalvm/compiler/asm/amd64/AMD64Address;ZII)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 2 1 reg I
0 2 2 addr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 2 3 additionalInstructionSize I
MethodParameters:
Name Flags
reg
addr
additionalInstructionSize
protected final void emitOperandHelper(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, int);
descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 1
aload 1
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
aload 2
iconst_0
iload 3
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitOperandHelper:(ILorg/graalvm/compiler/asm/amd64/AMD64Address;ZII)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 3 1 reg Ljdk/vm/ci/code/Register;
0 3 2 addr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 3 3 additionalInstructionSize I
MethodParameters:
Name Flags
reg
addr
additionalInstructionSize
protected final void emitEVEXOperandHelper(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, int, int);
descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;II)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 1
aload 1
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
aload 2
iconst_0
iload 3
iload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitOperandHelper:(ILorg/graalvm/compiler/asm/amd64/AMD64Address;ZII)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 3 1 reg Ljdk/vm/ci/code/Register;
0 3 2 addr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 3 3 additionalInstructionSize I
0 3 4 evexDisp8Scale I
MethodParameters:
Name Flags
reg
addr
additionalInstructionSize
evexDisp8Scale
private void emitOperandHelper(int, org.graalvm.compiler.asm.amd64.AMD64Address, boolean, int, int);
descriptor: (ILorg/graalvm/compiler/asm/amd64/AMD64Address;ZII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=15, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 1
iload 1
bipush 7
iand
iload 1
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 1
iconst_3
ishl
istore 6
start local 6 2: aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getBase:()Ljdk/vm/ci/code/Register;
astore 7
start local 7 3: aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getIndex:()Ljdk/vm/ci/code/Register;
astore 8
start local 8 4: aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getScale:()Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
astore 9
start local 9 5: aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address.getDisplacement:()I
istore 10
start local 10 6: aload 7
getstatic jdk.vm.ci.amd64.AMD64.rip:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 13
7: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 8
aload 8
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 8
new java.lang.AssertionError
dup
ldc "cannot use RIP relative addressing with index register"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int org.graalvm.compiler.asm.amd64.AMD64Address int int int int jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address$Scale int
StackMap stack:
aload 0
iconst_5
iload 6
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
9: aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.codePatchingAnnotationConsumer:Ljava/util/function/Consumer;
ifnull 11
aload 2
getfield org.graalvm.compiler.asm.amd64.AMD64Address.instructionStartPosition:I
iflt 11
10: aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.codePatchingAnnotationConsumer:Ljava/util/function/Consumer;
new org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$AddressDisplacementAnnotation
dup
aload 2
getfield org.graalvm.compiler.asm.amd64.AMD64Address.instructionStartPosition:I
aload 0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.position:()I
iconst_4
aload 0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.position:()I
iconst_4
iadd
iload 4
iadd
invokespecial org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$AddressDisplacementAnnotation.<init>:(IIII)V
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
aload 0
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
12: goto 96
StackMap locals:
StackMap stack:
13: aload 7
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 86
14: iload 3
istore 11
start local 11 15: aload 7
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 16
aload 7
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
goto 17
StackMap locals: int
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: istore 12
start local 12 18: aload 8
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 44
19: aload 8
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
iconst_3
ishl
istore 13
start local 13 20: iload 10
ifne 25
aload 7
getstatic jdk.vm.ci.amd64.AMD64.rbp:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 25
aload 7
getstatic jdk.vm.ci.amd64.AMD64.r13:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 25
21: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 22
aload 8
getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 22
new java.lang.AssertionError
dup
ldc "illegal addressing mode"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
22: StackMap locals: int int
StackMap stack:
aload 0
iconst_4
iload 6
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
23: aload 0
aload 9
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
bipush 6
ishl
iload 13
ior
iload 12
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
24: goto 96
25: StackMap locals:
StackMap stack:
iload 5
iconst_1
if_icmple 33
iload 11
ifne 33
26: iload 10
iload 5
irem
ifne 32
27: iload 10
iload 5
idiv
istore 14
start local 14 28: iload 14
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
ifeq 33
29: iload 14
istore 10
30: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 33
iload 10
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
ifeq 31
iload 11
ifeq 33
StackMap locals: int
StackMap stack:
31: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 14 32: StackMap locals:
StackMap stack:
iconst_1
istore 11
33: StackMap locals:
StackMap stack:
iload 10
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
ifeq 39
iload 11
ifne 39
34: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 35
aload 8
getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 35
new java.lang.AssertionError
dup
ldc "illegal addressing mode"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
35: StackMap locals:
StackMap stack:
aload 0
bipush 68
iload 6
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
36: aload 0
aload 9
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
bipush 6
ishl
iload 13
ior
iload 12
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
37: aload 0
iload 10
sipush 255
iand
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
38: goto 96
39: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 40
aload 8
getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 40
new java.lang.AssertionError
dup
ldc "illegal addressing mode"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
40: StackMap locals:
StackMap stack:
aload 0
sipush 132
iload 6
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
41: aload 0
aload 9
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
bipush 6
ishl
iload 13
ior
iload 12
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
42: aload 0
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
end local 13 43: goto 96
StackMap locals:
StackMap stack:
44: aload 7
getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 45
aload 7
getstatic jdk.vm.ci.amd64.AMD64.r12:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 66
45: StackMap locals:
StackMap stack:
iload 10
ifne 49
46: aload 0
iconst_4
iload 6
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
47: aload 0
bipush 36
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
48: goto 96
49: StackMap locals:
StackMap stack:
iload 5
iconst_1
if_icmple 57
iload 11
ifne 57
50: iload 10
iload 5
irem
ifne 56
51: iload 10
iload 5
idiv
istore 13
start local 13 52: iload 13
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
ifeq 57
53: iload 13
istore 10
54: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 57
iload 10
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
ifeq 55
iload 11
ifeq 57
StackMap locals: int
StackMap stack:
55: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 13 56: StackMap locals:
StackMap stack:
iconst_1
istore 11
57: StackMap locals:
StackMap stack:
iload 10
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
ifeq 62
iload 11
ifne 62
58: aload 0
bipush 68
iload 6
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
59: aload 0
bipush 36
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
60: aload 0
iload 10
sipush 255
iand
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
61: goto 96
62: StackMap locals:
StackMap stack:
aload 0
sipush 132
iload 6
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
63: aload 0
bipush 36
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
64: aload 0
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
65: goto 96
66: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 68
aload 7
getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 67
aload 7
getstatic jdk.vm.ci.amd64.AMD64.r12:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 68
StackMap locals:
StackMap stack:
67: new java.lang.AssertionError
dup
ldc "illegal addressing mode"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
68: StackMap locals:
StackMap stack:
iload 10
ifne 71
aload 7
getstatic jdk.vm.ci.amd64.AMD64.rbp:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 71
aload 7
getstatic jdk.vm.ci.amd64.AMD64.r13:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 71
69: aload 0
iload 6
iload 12
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
70: goto 96
71: StackMap locals:
StackMap stack:
iload 5
iconst_1
if_icmple 79
iload 11
ifne 79
72: iload 10
iload 5
irem
ifne 78
73: iload 10
iload 5
idiv
istore 13
start local 13 74: iload 13
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
ifeq 79
75: iload 13
istore 10
76: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 79
iload 10
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
ifeq 77
iload 11
ifeq 79
StackMap locals: int
StackMap stack:
77: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 13 78: StackMap locals:
StackMap stack:
iconst_1
istore 11
79: StackMap locals:
StackMap stack:
iload 10
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
ifeq 83
iload 11
ifne 83
80: aload 0
bipush 64
iload 6
ior
iload 12
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
81: aload 0
iload 10
sipush 255
iand
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
82: goto 96
83: StackMap locals:
StackMap stack:
aload 0
sipush 128
iload 6
ior
iload 12
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
84: aload 0
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
end local 12 end local 11 85: goto 96
86: StackMap locals:
StackMap stack:
aload 8
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 93
87: aload 8
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.encode:(Ljdk/vm/ci/code/Register;)I
iconst_3
ishl
istore 11
start local 11 88: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 89
aload 8
getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 89
new java.lang.AssertionError
dup
ldc "illegal addressing mode"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
89: StackMap locals: int
StackMap stack:
aload 0
iconst_4
iload 6
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
90: aload 0
aload 9
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
bipush 6
ishl
iload 11
ior
iconst_5
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
91: aload 0
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
end local 11 92: goto 96
93: StackMap locals:
StackMap stack:
aload 0
iconst_4
iload 6
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
94: aload 0
bipush 37
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
95: aload 0
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitInt:(I)V
96: StackMap locals:
StackMap stack:
return
end local 10 end local 9 end local 8 end local 7 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 97 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 97 1 reg I
0 97 2 addr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 97 3 force4Byte Z
0 97 4 additionalInstructionSize I
0 97 5 evexDisp8Scale I
2 97 6 regenc I
3 97 7 base Ljdk/vm/ci/code/Register;
4 97 8 index Ljdk/vm/ci/code/Register;
5 97 9 scale Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
6 97 10 disp I
15 85 11 overriddenForce4Byte Z
18 85 12 baseenc I
20 43 13 indexenc I
28 32 14 newDisp I
52 56 13 newDisp I
74 78 13 newDisp I
88 92 11 indexenc I
MethodParameters:
Name Flags
reg
addr
force4Byte
additionalInstructionSize
evexDisp8Scale
protected final void simdPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, int, int, boolean);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;IIZ)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
aload 1
aload 2
aload 3
iload 5
ifeq 1
iload 5
goto 2
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address
1: aload 4
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.sizePrefix:I
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address int
2: iload 6
iload 7
invokeinterface org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder.simdPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;IIZ)V
3: return
end local 7 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 4 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 4 1 xreg Ljdk/vm/ci/code/Register;
0 4 2 nds Ljdk/vm/ci/code/Register;
0 4 3 adr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 4 4 size Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
0 4 5 overriddenSizePrefix I
0 4 6 opcodeEscapePrefix I
0 4 7 isRexW Z
MethodParameters:
Name Flags
xreg
nds
adr
size
overriddenSizePrefix
opcodeEscapePrefix
isRexW
protected final void simdPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, int, boolean);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;IZ)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
aload 1
aload 2
aload 3
aload 4
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.sizePrefix:I
iload 5
iload 6
invokeinterface org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder.simdPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;IIZ)V
1: return
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 2 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 2 1 xreg Ljdk/vm/ci/code/Register;
0 2 2 nds Ljdk/vm/ci/code/Register;
0 2 3 adr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 2 4 size Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
0 2 5 opcodeEscapePrefix I
0 2 6 isRexW Z
MethodParameters:
Name Flags
xreg
nds
adr
size
opcodeEscapePrefix
isRexW
protected final void simdPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, int, int, boolean);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;IIZ)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
aload 1
aload 2
aload 3
iload 5
ifeq 1
iload 5
goto 2
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
1: aload 4
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.sizePrefix:I
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
2: iload 6
iload 7
invokeinterface org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder.simdPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;IIZ)V
3: return
end local 7 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 4 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 4 1 dst Ljdk/vm/ci/code/Register;
0 4 2 nds Ljdk/vm/ci/code/Register;
0 4 3 src Ljdk/vm/ci/code/Register;
0 4 4 size Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
0 4 5 overriddenSizePrefix I
0 4 6 opcodeEscapePrefix I
0 4 7 isRexW Z
MethodParameters:
Name Flags
dst
nds
src
size
overriddenSizePrefix
opcodeEscapePrefix
isRexW
protected final void simdPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, int, boolean);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;IZ)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.simdEncoder:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$SIMDEncoder;
aload 1
aload 2
aload 3
aload 4
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.sizePrefix:I
iload 5
iload 6
invokeinterface org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder.simdPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;IIZ)V
1: return
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 2 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 2 1 dst Ljdk/vm/ci/code/Register;
0 2 2 nds Ljdk/vm/ci/code/Register;
0 2 3 src Ljdk/vm/ci/code/Register;
0 2 4 size Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
0 2 5 opcodeEscapePrefix I
0 2 6 isRexW Z
MethodParameters:
Name Flags
dst
nds
src
size
opcodeEscapePrefix
isRexW
protected final void emitVEX(int, int, int, int, int, int, boolean);
descriptor: (IIIIIIZ)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=12, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 1
iload 7
ifeq 1
aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
checkcast jdk.vm.ci.amd64.AMD64
invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
ldc "emitting VEX prefix on a CPU without AVX support"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 2
iload 1
ifeq 2
iload 1
iconst_1
if_icmpeq 2
new java.lang.AssertionError
dup
ldc "invalid value for VEX.L"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 3
iload 2
ifeq 3
iload 2
iconst_1
if_icmpeq 3
iload 2
iconst_2
if_icmpeq 3
iload 2
iconst_3
if_icmpeq 3
new java.lang.AssertionError
dup
ldc "invalid value for VEX.pp"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 4
iload 3
iconst_1
if_icmpeq 4
iload 3
iconst_2
if_icmpeq 4
iload 3
iconst_3
if_icmpeq 4
new java.lang.AssertionError
dup
ldc "invalid value for VEX.m-mmmm"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 5
iload 4
ifeq 5
iload 4
iconst_1
if_icmpeq 5
new java.lang.AssertionError
dup
ldc "invalid value for VEX.W"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 6
iload 5
bipush 7
iand
iload 5
if_icmpeq 6
new java.lang.AssertionError
dup
ldc "invalid value for VEX.RXB"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 7
iload 6
bipush 15
iand
iload 6
if_icmpeq 7
new java.lang.AssertionError
dup
ldc "invalid value for VEX.vvvv"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
iload 5
bipush 7
ixor
istore 8
start local 8 8: iload 6
bipush 15
ixor
istore 9
start local 9 9: iload 5
iconst_3
iand
ifne 18
iload 4
ifne 18
iload 3
iconst_1
if_icmpne 18
10: iconst_0
istore 10
start local 10 11: iload 10
iload 8
iconst_4
iand
iconst_5
ishl
ior
istore 10
12: iload 10
iload 9
iconst_3
ishl
ior
istore 10
13: iload 10
iload 1
iconst_2
ishl
ior
istore 10
14: iload 10
iload 2
ior
istore 10
15: aload 0
sipush 197
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
16: aload 0
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
end local 10 17: goto 29
18: StackMap locals: int int
StackMap stack:
iconst_0
istore 10
start local 10 19: iload 8
bipush 7
iand
iconst_5
ishl
istore 10
20: iload 10
iload 3
ior
istore 10
21: iconst_0
istore 11
start local 11 22: iload 11
iload 4
bipush 7
ishl
ior
istore 11
23: iload 11
iload 9
iconst_3
ishl
ior
istore 11
24: iload 11
iload 1
iconst_2
ishl
ior
istore 11
25: iload 11
iload 2
ior
istore 11
26: aload 0
sipush 196
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
27: aload 0
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
28: aload 0
iload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
end local 11 end local 10 29: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 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 30 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 30 1 l I
0 30 2 pp I
0 30 3 mmmmm I
0 30 4 w I
0 30 5 rxb I
0 30 6 vvvv I
0 30 7 checkAVX Z
8 30 8 rxb1s I
9 30 9 vvvv1s I
11 17 10 byte2 I
19 29 10 byte2 I
22 29 11 byte3 I
MethodParameters:
Name Flags
l
pp
mmmmm
w
rxb
vvvv
checkAVX
public static int getLFlag(org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AVXKind$AVXSize:()[I
aload 0
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ordinal:()I
iaload
tableswitch { // 3 - 5
3: 1
4: 2
5: 3
default: 4
}
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_2
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
MethodParameters:
Name Flags
size
public final void vexPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, int, int, int, boolean);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIZ)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=8, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 4
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getLFlag:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
iload 5
iload 6
iload 7
aload 1
aload 3
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getRXB:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
aload 2
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 1
aload 2
invokevirtual jdk.vm.ci.code.Register.encoding:()I
goto 2
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int
1: iconst_0
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int
2: iload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitVEX:(IIIIIIZ)V
3: return
end local 8 end local 7 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 4 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 4 1 dst Ljdk/vm/ci/code/Register;
0 4 2 nds Ljdk/vm/ci/code/Register;
0 4 3 src Ljdk/vm/ci/code/Register;
0 4 4 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
0 4 5 pp I
0 4 6 mmmmm I
0 4 7 w I
0 4 8 checkAVX Z
MethodParameters:
Name Flags
dst
nds
src
size
pp
mmmmm
w
checkAVX
public final void vexPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, int, int, int, boolean);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIZ)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=8, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 4
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getLFlag:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
iload 5
iload 6
iload 7
aload 1
aload 3
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getRXB:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)I
aload 2
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 1
aload 2
invokevirtual jdk.vm.ci.code.Register.encoding:()I
goto 2
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int
1: iconst_0
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int
2: iload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitVEX:(IIIIIIZ)V
3: return
end local 8 end local 7 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 4 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 4 1 dst Ljdk/vm/ci/code/Register;
0 4 2 nds Ljdk/vm/ci/code/Register;
0 4 3 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 4 4 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
0 4 5 pp I
0 4 6 mmmmm I
0 4 7 w I
0 4 8 checkAVX Z
MethodParameters:
Name Flags
dst
nds
src
size
pp
mmmmm
w
checkAVX
private void emitEVEX(int, int, int, int, int, int, int, int, int, int);
descriptor: (IIIIIIIIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=14, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
checkcast jdk.vm.ci.amd64.AMD64
invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX512F:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
ldc "emitting EVEX prefix on a CPU without AVX512 support"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 2
iload 1
ifeq 2
iload 1
iconst_1
if_icmpeq 2
iload 1
iconst_2
if_icmpeq 2
new java.lang.AssertionError
dup
ldc "invalid value for EVEX.L'L"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 3
iload 2
ifeq 3
iload 2
iconst_1
if_icmpeq 3
iload 2
iconst_2
if_icmpeq 3
iload 2
iconst_3
if_icmpeq 3
new java.lang.AssertionError
dup
ldc "invalid value for EVEX.pp"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 4
iload 3
iconst_1
if_icmpeq 4
iload 3
iconst_2
if_icmpeq 4
iload 3
iconst_3
if_icmpeq 4
new java.lang.AssertionError
dup
ldc "invalid value for EVEX.mm"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 5
iload 4
ifeq 5
iload 4
iconst_1
if_icmpeq 5
new java.lang.AssertionError
dup
ldc "invalid value for EVEX.W"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 6
iload 5
bipush 7
iand
iload 5
if_icmpeq 6
new java.lang.AssertionError
dup
ldc "invalid value for EVEX.RXB"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 7
iload 6
bipush 31
iand
iload 6
if_icmpeq 7
new java.lang.AssertionError
dup
ldc "invalid value for EVEX.R'"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 8
iload 7
bipush 31
iand
iload 7
if_icmpeq 8
new java.lang.AssertionError
dup
ldc "invalid value for EVEX.V'vvvv"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 9
iload 8
ifeq 9
iload 8
iconst_1
if_icmpeq 9
new java.lang.AssertionError
dup
ldc "invalid value for EVEX.z"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 10
iload 9
ifeq 10
iload 9
iconst_1
if_icmpeq 10
new java.lang.AssertionError
dup
ldc "invalid value for EVEX.b"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 11
iload 10
bipush 7
iand
iload 10
if_icmpeq 11
new java.lang.AssertionError
dup
ldc "invalid value for EVEX.aaa"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
bipush 98
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
12: iconst_0
istore 11
start local 11 13: iload 11
iload 5
bipush 7
ixor
bipush 7
iand
iconst_5
ishl
ior
istore 11
14: iload 11
iload 6
bipush 16
if_icmpge 15
bipush 16
goto 16
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int int
StackMap stack: int
15: iconst_0
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int int
StackMap stack: int int
16: ior
istore 11
17: iload 11
iload 3
ior
istore 11
18: aload 0
iload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
19: iconst_0
istore 12
start local 12 20: iload 12
iload 4
bipush 7
ishl
ior
istore 12
21: iload 12
iload 7
bipush 15
ixor
bipush 15
iand
iconst_3
ishl
ior
istore 12
22: iload 12
iconst_4
ior
istore 12
23: iload 12
iload 2
ior
istore 12
24: aload 0
iload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
25: iconst_0
istore 13
start local 13 26: iload 13
iload 8
bipush 7
ishl
ior
istore 13
27: iload 13
iload 1
iconst_5
ishl
ior
istore 13
28: iload 13
iload 9
iconst_4
ishl
ior
istore 13
29: iload 13
iload 7
bipush 16
if_icmpge 30
bipush 8
goto 31
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int int int int
StackMap stack: int
30: iconst_0
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int int int int
StackMap stack: int int
31: ior
istore 13
32: iload 13
iload 10
ior
istore 13
33: aload 0
iload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitByte:(I)V
34: return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 35 0 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 35 1 l I
0 35 2 pp I
0 35 3 mm I
0 35 4 w I
0 35 5 rxb I
0 35 6 reg I
0 35 7 vvvvv I
0 35 8 z I
0 35 9 b I
0 35 10 aaa I
13 35 11 p1 I
20 35 12 p2 I
26 35 13 p3 I
MethodParameters:
Name Flags
l
pp
mm
w
rxb
reg
vvvvv
z
b
aaa
private static int getRXBForEVEX(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
iand
StackMap locals:
StackMap stack: int
2: iconst_1
ishr
istore 2
start local 2 3: iload 2
aload 1
ifnonnull 4
iconst_0
goto 5
StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
StackMap stack: int
4: aload 1
getfield jdk.vm.ci.code.Register.encoding:I
bipush 24
iand
StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
StackMap stack: int int
5: iconst_3
ishr
ior
istore 2
6: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 reg Ljdk/vm/ci/code/Register;
0 7 1 rm Ljdk/vm/ci/code/Register;
3 7 2 rxb I
MethodParameters:
Name Flags
reg
rm
protected final void evexPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, int, int, int, int, int);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIII)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=11, locals=11, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 1
aload 2
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 1
getstatic jdk.vm.ci.amd64.AMD64.MASK:Ljdk/vm/ci/code/Register$RegisterCategory;
aload 2
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.inRC:(Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/code/Register;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 5
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getLFlag:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
iload 6
iload 7
iload 8
aload 1
aload 4
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getRXBForEVEX:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
aload 1
getfield jdk.vm.ci.code.Register.encoding:I
aload 3
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 2
aload 3
invokevirtual jdk.vm.ci.code.Register.encoding:()I
goto 3
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int
2: iconst_0
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int
3: iload 9
iload 10
aload 2
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 4
aload 2
getfield jdk.vm.ci.code.Register.encoding:I
goto 5
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int
4: iconst_0
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int
5: invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitEVEX:(IIIIIIIIII)V
6: return
end local 10 end local 9 end local 8 end local 7 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 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 7 1 dst Ljdk/vm/ci/code/Register;
0 7 2 mask Ljdk/vm/ci/code/Register;
0 7 3 nds Ljdk/vm/ci/code/Register;
0 7 4 src Ljdk/vm/ci/code/Register;
0 7 5 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
0 7 6 pp I
0 7 7 mm I
0 7 8 w I
0 7 9 z I
0 7 10 b I
MethodParameters:
Name Flags
dst
mask
nds
src
size
pp
mm
w
z
b
protected final void evexPrefix(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, int, int, int, int, int);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIII)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=11, locals=11, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$assertionsDisabled:Z
ifne 1
aload 2
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 1
getstatic jdk.vm.ci.amd64.AMD64.MASK:Ljdk/vm/ci/code/Register$RegisterCategory;
aload 2
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.inRC:(Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/code/Register;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 5
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getLFlag:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
iload 6
iload 7
iload 8
aload 1
aload 4
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.getRXB:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)I
aload 1
getfield jdk.vm.ci.code.Register.encoding:I
aload 3
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 2
aload 3
invokevirtual jdk.vm.ci.code.Register.encoding:()I
goto 3
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int
2: iconst_0
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int
3: iload 9
iload 10
aload 2
invokevirtual jdk.vm.ci.code.Register.isValid:()Z
ifeq 4
aload 2
getfield jdk.vm.ci.code.Register.encoding:I
goto 5
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int
4: iconst_0
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler int int int int int int int int int int
5: invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.emitEVEX:(IIIIIIIIII)V
6: return
end local 10 end local 9 end local 8 end local 7 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 this Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler;
0 7 1 dst Ljdk/vm/ci/code/Register;
0 7 2 mask Ljdk/vm/ci/code/Register;
0 7 3 nds Ljdk/vm/ci/code/Register;
0 7 4 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 7 5 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
0 7 6 pp I
0 7 7 mm I
0 7 8 w I
0 7 9 z I
0 7 10 b I
MethodParameters:
Name Flags
dst
mask
nds
src
size
pp
mm
w
z
b
static int[] $SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AVXKind$AVXSize();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AVXKind$AVXSize:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.values:()[Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.YMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ordinal:()I
iconst_4
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ZMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.ordinal:()I
iconst_5
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AVXKind$AVXSize:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "AMD64BaseAssembler.java"
NestMembers:
org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$AddressDisplacementAnnotation org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$EVEXPrefixConfig org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$EVEXTuple org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$ImmediateOperandAnnotation org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandDataAnnotation org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize$1 org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize$2 org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize$3 org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize$4 org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$Prefix org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SSEEncoderImpl org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXEncoderImpl org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXPrefixConfig
InnerClasses:
public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register
public final Scale = org.graalvm.compiler.asm.amd64.AMD64Address$Scale of org.graalvm.compiler.asm.amd64.AMD64Address
protected AddressDisplacementAnnotation = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$AddressDisplacementAnnotation of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
protected final EVEXPrefixConfig = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$EVEXPrefixConfig of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
protected final EVEXTuple = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$EVEXTuple of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
protected ImmediateOperandAnnotation = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$ImmediateOperandAnnotation of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
public abstract OperandDataAnnotation = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandDataAnnotation of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
public OperandSize = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
private Prefix = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$Prefix of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
private abstract SIMDEncoder = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SIMDEncoder of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
private SSEEncoderImpl = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$SSEEncoderImpl of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
private VEXEncoderImpl = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXEncoderImpl of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
public final VEXPrefixConfig = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$VEXPrefixConfig of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
public final AVXSize = org.graalvm.compiler.asm.amd64.AVXKind$AVXSize of org.graalvm.compiler.asm.amd64.AVXKind