abstract class com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM extends com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM
  super_class: com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
         0: .line 169
            aload 0 /* this */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode.<init>:()V
            return
        end local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropReadNode$ReinterpretLongAsLLVM;

  abstract java.lang.Object executeWithAccessType(long, com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;)Ljava/lang/Object;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      value       
      accessType  

  short toI16(long, com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;)S
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
        start local 1 // long value
        start local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
         0: .line 174
            lload 1 /* value */
            l2i
            i2s
            ireturn
        end local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
        end local 1 // long value
        end local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropReadNode$ReinterpretLongAsLLVM;
            0    1     1       value  J
            0    1     3  accessType  Lcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"accessType.isI16()"})
    MethodParameters:
            Name  Flags
      value       
      accessType  

  int toI32(long, com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
        start local 1 // long value
        start local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
         0: .line 179
            lload 1 /* value */
            l2i
            ireturn
        end local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
        end local 1 // long value
        end local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropReadNode$ReinterpretLongAsLLVM;
            0    1     1       value  J
            0    1     3  accessType  Lcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"accessType.isI32()"})
    MethodParameters:
            Name  Flags
      value       
      accessType  

  long toI64(long, com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;)J
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
        start local 1 // long value
        start local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
         0: .line 184
            lload 1 /* value */
            lreturn
        end local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
        end local 1 // long value
        end local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropReadNode$ReinterpretLongAsLLVM;
            0    1     1       value  J
            0    1     3  accessType  Lcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"accessType.isI64()"})
    MethodParameters:
            Name  Flags
      value       
      accessType  

  float toFloat(long, com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;)F
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
        start local 1 // long value
        start local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
         0: .line 189
            lload 1 /* value */
            l2i
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
        end local 1 // long value
        end local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropReadNode$ReinterpretLongAsLLVM;
            0    1     1       value  J
            0    1     3  accessType  Lcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"accessType.isFloat()"})
    MethodParameters:
            Name  Flags
      value       
      accessType  

  double toDouble(long, com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;)D
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
        start local 1 // long value
        start local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
         0: .line 194
            lload 1 /* value */
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
        end local 1 // long value
        end local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropReadNode$ReinterpretLongAsLLVM;
            0    1     1       value  J
            0    1     3  accessType  Lcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"accessType.isDouble()"})
    MethodParameters:
            Name  Flags
      value       
      accessType  

  java.lang.Object toPointer(long, com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
        start local 1 // long value
        start local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
         0: .line 199
            lload 1 /* value */
            invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer.create:(J)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
            areturn
        end local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
        end local 1 // long value
        end local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropReadNode$ReinterpretLongAsLLVM;
            0    1     1       value  J
            0    1     3  accessType  Lcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"accessType.isPointer()"})
    MethodParameters:
            Name  Flags
      value       
      accessType  

  java.lang.Object fallback(long, com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
        start local 1 // long value
        start local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
         0: .line 204
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
         1: .line 205
            new com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException
            dup
            aload 0 /* this */
            ldc "Unexpected access type %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* accessType */
            aastore
            invokespecial com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException.<init>:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 3 // com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType accessType
        end local 1 // long value
        end local 0 // com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropReadNode$ReinterpretLongAsLLVM;
            0    2     1       value  J
            0    2     3  accessType  Lcom/oracle/truffle/llvm/runtime/interop/convert/ForeignToLLVM$ForeignToLLVMType;
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.Fallback()
    MethodParameters:
            Name  Flags
      value       
      accessType  
}
SourceFile: "LLVMInteropReadNode.java"
NestHost: com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode
InnerClasses:
  abstract ReinterpretLongAsLLVM = com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode$ReinterpretLongAsLLVM of com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropReadNode
  public final ForeignToLLVMType = com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM$ForeignToLLVMType of com.oracle.truffle.llvm.runtime.interop.convert.ForeignToLLVM
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.GenerateUncached()