public abstract class com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode extends com.oracle.truffle.llvm.runtime.nodes.api.LLVMStoreNode
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode
  super_class: com.oracle.truffle.llvm.runtime.nodes.api.LLVMStoreNode
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode this
         0: .line 47
            aload 0 /* this */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.api.LLVMStoreNode.<init>:()V
            return
        end local 0 // com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/nodes/memory/store/LLVMDoubleStoreNode;

  public abstract void executeWithTarget(com.oracle.truffle.llvm.runtime.pointer.LLVMPointer, double);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;D)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      address  
      value    

  protected void doOp(com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer, double, com.oracle.truffle.llvm.runtime.LLVMLanguage);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;DLcom/oracle/truffle/llvm/runtime/LLVMLanguage;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode this
        start local 1 // com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr
        start local 2 // double value
        start local 4 // com.oracle.truffle.llvm.runtime.LLVMLanguage language
         0: .line 88
            aload 4 /* language */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getLLVMMemory:()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory;
            aload 0 /* this */
            aload 1 /* addr */
            dload 2 /* value */
            invokevirtual com.oracle.truffle.llvm.runtime.memory.LLVMMemory.putDouble:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;D)V
         1: .line 89
            return
        end local 4 // com.oracle.truffle.llvm.runtime.LLVMLanguage language
        end local 2 // double value
        end local 1 // com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr
        end local 0 // com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/llvm/runtime/nodes/memory/store/LLVMDoubleStoreNode;
            0    2     1      addr  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
            0    2     2     value  D
            0    2     4  language  Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"!isAutoDerefHandle(language, addr)"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.dsl.CachedLanguage()
    MethodParameters:
          Name  Flags
      addr      
      value     
      language  

  protected static void doOpDerefHandle(com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer, double, com.oracle.truffle.llvm.runtime.LLVMLanguage, com.oracle.truffle.llvm.runtime.nodes.memory.load.LLVMDerefHandleGetReceiverNode, com.oracle.truffle.llvm.runtime.library.internal.LLVMManagedWriteLibrary);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;DLcom/oracle/truffle/llvm/runtime/LLVMLanguage;Lcom/oracle/truffle/llvm/runtime/nodes/memory/load/LLVMDerefHandleGetReceiverNode;Lcom/oracle/truffle/llvm/runtime/library/internal/LLVMManagedWriteLibrary;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr
        start local 1 // double value
        start local 3 // com.oracle.truffle.llvm.runtime.LLVMLanguage language
        start local 4 // com.oracle.truffle.llvm.runtime.nodes.memory.load.LLVMDerefHandleGetReceiverNode getReceiver
        start local 5 // com.oracle.truffle.llvm.runtime.library.internal.LLVMManagedWriteLibrary nativeWrite
         0: .line 96
            aload 4 /* getReceiver */
            aload 0 /* addr */
            invokevirtual com.oracle.truffle.llvm.runtime.nodes.memory.load.LLVMDerefHandleGetReceiverNode.execute:(Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
            dload 1 /* value */
            aload 5 /* nativeWrite */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode.doOpManaged:(Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;DLcom/oracle/truffle/llvm/runtime/library/internal/LLVMManagedWriteLibrary;)V
         1: .line 97
            return
        end local 5 // com.oracle.truffle.llvm.runtime.library.internal.LLVMManagedWriteLibrary nativeWrite
        end local 4 // com.oracle.truffle.llvm.runtime.nodes.memory.load.LLVMDerefHandleGetReceiverNode getReceiver
        end local 3 // com.oracle.truffle.llvm.runtime.LLVMLanguage language
        end local 1 // double value
        end local 0 // com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         addr  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
            0    2     1        value  D
            0    2     3     language  Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
            0    2     4  getReceiver  Lcom/oracle/truffle/llvm/runtime/nodes/memory/load/LLVMDerefHandleGetReceiverNode;
            0    2     5  nativeWrite  Lcom/oracle/truffle/llvm/runtime/library/internal/LLVMManagedWriteLibrary;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"isAutoDerefHandle(language, addr)"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.dsl.CachedLanguage()
      3:
        com.oracle.truffle.api.dsl.Cached()
      4:
        com.oracle.truffle.api.library.CachedLibrary(limit = "3")
    MethodParameters:
             Name  Flags
      addr         
      value        
      language     
      getReceiver  
      nativeWrite  

  protected static void doOpManaged(com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer, double, com.oracle.truffle.llvm.runtime.library.internal.LLVMManagedWriteLibrary);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;DLcom/oracle/truffle/llvm/runtime/library/internal/LLVMManagedWriteLibrary;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer address
        start local 1 // double value
        start local 3 // com.oracle.truffle.llvm.runtime.library.internal.LLVMManagedWriteLibrary nativeWrite
         0: .line 102
            aload 3 /* nativeWrite */
            aload 0 /* address */
            invokeinterface com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.getObject:()Ljava/lang/Object;
            aload 0 /* address */
            invokeinterface com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.getOffset:()J
            dload 1 /* value */
            invokevirtual com.oracle.truffle.llvm.runtime.library.internal.LLVMManagedWriteLibrary.writeDouble:(Ljava/lang/Object;JD)V
         1: .line 103
            return
        end local 3 // com.oracle.truffle.llvm.runtime.library.internal.LLVMManagedWriteLibrary nativeWrite
        end local 1 // double value
        end local 0 // com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer address
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0      address  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
            0    2     1        value  D
            0    2     3  nativeWrite  Lcom/oracle/truffle/llvm/runtime/library/internal/LLVMManagedWriteLibrary;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.library.CachedLibrary(value = "address.getObject()")
    MethodParameters:
             Name  Flags
      address      
      value        
      nativeWrite  

  public static com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode create();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/memory/store/LLVMDoubleStoreNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 106
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tLLVMDoubleStoreNodeGen cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "LLVMDoubleStoreNode.java"
NestMembers:
  com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode$LLVMDoubleOffsetStoreNode
InnerClasses:
  public abstract LLVMDoubleOffsetStoreNode = com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode$LLVMDoubleOffsetStoreNode of com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMDoubleStoreNode