public abstract class org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp extends org.graalvm.compiler.lir.amd64.AMD64Call$CallOp implements org.graalvm.compiler.lir.gen.DiagnosticLIRGeneratorTool$ZapRegistersAfterInstruction
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp
  super_class: org.graalvm.compiler.lir.amd64.AMD64Call$CallOp
{
  public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp> TYPE;
    descriptor: Lorg/graalvm/compiler/lir/LIRInstructionClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/lir/LIRInstructionClass<Lorg/graalvm/compiler/lir/amd64/AMD64Call$ForeignCallOp;>;

  protected final org.graalvm.compiler.core.common.spi.ForeignCallLinkage callTarget;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 141
            ldc Lorg/graalvm/compiler/lir/amd64/AMD64Call$ForeignCallOp;
            invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
            putstatic org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.lir.LIRInstructionClass<? extends org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp>, org.graalvm.compiler.core.common.spi.ForeignCallLinkage, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value[], jdk.vm.ci.meta.Value[], org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstructionClass;Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp this
        start local 1 // org.graalvm.compiler.lir.LIRInstructionClass c
        start local 2 // org.graalvm.compiler.core.common.spi.ForeignCallLinkage callTarget
        start local 3 // jdk.vm.ci.meta.Value result
        start local 4 // jdk.vm.ci.meta.Value[] parameters
        start local 5 // jdk.vm.ci.meta.Value[] temps
        start local 6 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 146
            aload 0 /* this */
            aload 1 /* c */
            aload 3 /* result */
            aload 4 /* parameters */
            aload 5 /* temps */
            aload 6 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Call$CallOp.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
         1: .line 147
            aload 0 /* this */
            aload 2 /* callTarget */
            putfield org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp.callTarget:Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
         2: .line 148
            return
        end local 6 // org.graalvm.compiler.lir.LIRFrameState state
        end local 5 // jdk.vm.ci.meta.Value[] temps
        end local 4 // jdk.vm.ci.meta.Value[] parameters
        end local 3 // jdk.vm.ci.meta.Value result
        end local 2 // org.graalvm.compiler.core.common.spi.ForeignCallLinkage callTarget
        end local 1 // org.graalvm.compiler.lir.LIRInstructionClass c
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/compiler/lir/amd64/AMD64Call$ForeignCallOp;
            0    3     1           c  Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/amd64/AMD64Call$ForeignCallOp;>;
            0    3     2  callTarget  Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
            0    3     3      result  Ljdk/vm/ci/meta/Value;
            0    3     4  parameters  [Ljdk/vm/ci/meta/Value;
            0    3     5       temps  [Ljdk/vm/ci/meta/Value;
            0    3     6       state  Lorg/graalvm/compiler/lir/LIRFrameState;
    Signature: (Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/amd64/AMD64Call$ForeignCallOp;>;Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    MethodParameters:
            Name  Flags
      c           
      callTarget  
      result      
      parameters  
      temps       
      state       

  public boolean destroysCallerSavedRegisters();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp this
         0: .line 152
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp.callTarget:Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
            invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallLinkage.destroysRegisters:()Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/amd64/AMD64Call$ForeignCallOp;

  public boolean needsClearUpperVectorRegisters();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp this
         0: .line 157
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp.callTarget:Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
            invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallLinkage.needsClearUpperVectorRegisters:()Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/amd64/AMD64Call$ForeignCallOp;
}
SourceFile: "AMD64Call.java"
NestHost: org.graalvm.compiler.lir.amd64.AMD64Call
InnerClasses:
  public abstract CallOp = org.graalvm.compiler.lir.amd64.AMD64Call$CallOp of org.graalvm.compiler.lir.amd64.AMD64Call
  public abstract ForeignCallOp = org.graalvm.compiler.lir.amd64.AMD64Call$ForeignCallOp of org.graalvm.compiler.lir.amd64.AMD64Call
  public abstract ZapRegistersAfterInstruction = org.graalvm.compiler.lir.gen.DiagnosticLIRGeneratorTool$ZapRegistersAfterInstruction of org.graalvm.compiler.lir.gen.DiagnosticLIRGeneratorTool