Class LLVMNativeMemory

java.lang.Object
com.oracle.truffle.llvm.runtime.memory.LLVMMemory
com.oracle.truffle.llvm.runtime.memory.LLVMHandleMemoryBase
com.oracle.truffle.llvm.nativemode.runtime.memory.LLVMNativeMemory
All Implemented Interfaces:
com.oracle.truffle.llvm.runtime.config.LLVMCapability

public final class LLVMNativeMemory extends com.oracle.truffle.llvm.runtime.memory.LLVMHandleMemoryBase
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.oracle.truffle.llvm.runtime.memory.LLVMMemory

    com.oracle.truffle.llvm.runtime.memory.LLVMMemory.BooleanBinaryOperator, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.ByteBinaryOperator, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI16, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI32, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI64, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI8, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.HandleContainer, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.ShortBinaryOperator
  • Field Summary

    Fields inherited from class com.oracle.truffle.llvm.runtime.memory.LLVMHandleMemoryBase

    DEREF_HANDLE_SPACE_END, DEREF_HANDLE_SPACE_START, HANDLE_HEADER_MASK, HANDLE_OBJECT_ADDRESS_BITS, HANDLE_OBJECT_SIZE, HANDLE_OBJECT_SIZE_BITS, HANDLE_OFFSET_MASK, HANDLE_SPACE_END, HANDLE_SPACE_START
  • Method Summary

    Modifier and Type
    Method
    Description
    com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer
    allocateMemory(com.oracle.truffle.api.nodes.Node location, long size)
     
    com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI16
    compareAndSwapI16(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer p, short comparisonValue, short newValue)
     
    com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI32
    compareAndSwapI32(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer p, int comparisonValue, int newValue)
     
    com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI64
    compareAndSwapI64(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer p, long comparisonValue, long newValue)
     
    com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI8
    compareAndSwapI8(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer p, byte comparisonValue, byte newValue)
     
    void
    copyMemory(com.oracle.truffle.api.nodes.Node location, long sourceAddress, long targetAddress, long length)
    Deprecated.
    com.oracle.truffle.llvm.runtime.memory.LLVMMemory.HandleContainer
    createHandleContainer(boolean deref, com.oracle.truffle.api.Assumption noHandleAssumption)
     
    void
    free(com.oracle.truffle.api.nodes.Node location, long address)
     
    com.oracle.truffle.llvm.runtime.floating.LLVM128BitFloat
    get128BitFloat(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr)
     
    com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
    get80BitFloat(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr)
     
    int
    getAndAddI32(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, int value)
     
    long
    getAndAddI64(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, long value)
     
    boolean
    getAndOpI1(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, boolean value, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.BooleanBinaryOperator f)
     
    short
    getAndOpI16(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, short value, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.ShortBinaryOperator f)
     
    int
    getAndOpI32(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, int value, IntBinaryOperator f)
     
    long
    getAndOpI64(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, long value, LongBinaryOperator f)
     
    byte
    getAndOpI8(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, byte value, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.ByteBinaryOperator f)
     
    int
    getAndSetI32(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, int value)
     
    long
    getAndSetI64(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, long value)
     
    int
    getAndSubI32(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, int value)
     
    long
    getAndSubI64(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, long value)
     
    double
    getDouble(com.oracle.truffle.api.nodes.Node location, long ptr)
     
    float
    getFloat(com.oracle.truffle.api.nodes.Node location, long ptr)
     
    boolean
    getI1(com.oracle.truffle.api.nodes.Node location, long ptr)
     
    short
    getI16(com.oracle.truffle.api.nodes.Node location, long ptr)
     
    int
    getI32(com.oracle.truffle.api.nodes.Node location, long ptr)
     
    long
    getI64(com.oracle.truffle.api.nodes.Node location, long ptr)
     
    byte
    getI8(com.oracle.truffle.api.nodes.Node location, long ptr)
     
    Deprecated.
    "This method should not be called directly.
    com.oracle.truffle.llvm.runtime.LLVMIVarBit
    getIVarBit(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr, int bitWidth)
     
    int
     
    com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer
    getPointer(com.oracle.truffle.api.nodes.Node location, long ptr)
     
    void
    memset(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, long size, byte value)
    Deprecated.
    void
    put128BitFloat(com.oracle.truffle.api.nodes.Node location, long ptr, com.oracle.truffle.llvm.runtime.floating.LLVM128BitFloat value)
     
    void
    put80BitFloat(com.oracle.truffle.api.nodes.Node location, long ptr, com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat value)
     
    void
    putByteArray(com.oracle.truffle.api.nodes.Node location, long ptr, byte[] bytes)
     
    void
    putDouble(com.oracle.truffle.api.nodes.Node location, long ptr, double value)
     
    void
    putFloat(com.oracle.truffle.api.nodes.Node location, long ptr, float value)
     
    void
    putI1(com.oracle.truffle.api.nodes.Node location, long ptr, boolean value)
     
    void
    putI16(com.oracle.truffle.api.nodes.Node location, long ptr, short value)
     
    void
    putI32(com.oracle.truffle.api.nodes.Node location, long ptr, int value)
     
    void
    putI64(com.oracle.truffle.api.nodes.Node location, long ptr, long value)
     
    void
    putI8(com.oracle.truffle.api.nodes.Node location, long ptr, byte value)
     
    void
    putIVarBit(com.oracle.truffle.api.nodes.Node location, long addr, com.oracle.truffle.llvm.runtime.LLVMIVarBit value)
     
    void
    putPointer(com.oracle.truffle.api.nodes.Node location, long ptr, long ptrValue)
     
    com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer
    reallocateMemory(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr, long size)
    Deprecated.

    Methods inherited from class com.oracle.truffle.llvm.runtime.memory.LLVMHandleMemoryBase

    isCommonHandleMemory, isDerefHandleMemory, isHandleMemory, supportsHandles

    Methods inherited from class com.oracle.truffle.llvm.runtime.memory.LLVMMemory

    free, getDouble, getFloat, getI1, getI16, getI32, getI64, getI8, getPointer, put128BitFloat, put80BitFloat, putByteArray, putDouble, putFloat, putI1, putI16, putI32, putI64, putI8, putIVarBit, putPointer, putPointer, putPointer

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getInstance

      @Deprecated public static LLVMNativeMemory getInstance()
      Deprecated.
      "This method should not be called directly. Use LLVMLanguage.getLLVMMemory() instead."
    • getPageSize

      public int getPageSize()
      Specified by:
      getPageSize in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • memset

      @Deprecated public void memset(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, long size, byte value)
      Deprecated.
      Specified by:
      memset in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • copyMemory

      @Deprecated public void copyMemory(com.oracle.truffle.api.nodes.Node location, long sourceAddress, long targetAddress, long length)
      Deprecated.
      Specified by:
      copyMemory in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • free

      public void free(com.oracle.truffle.api.nodes.Node location, long address)
      Specified by:
      free in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • allocateMemory

      public com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer allocateMemory(com.oracle.truffle.api.nodes.Node location, long size)
      Specified by:
      allocateMemory in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • reallocateMemory

      @Deprecated public com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer reallocateMemory(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr, long size)
      Deprecated.
      Specified by:
      reallocateMemory in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getI1

      public boolean getI1(com.oracle.truffle.api.nodes.Node location, long ptr)
      Specified by:
      getI1 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getI8

      public byte getI8(com.oracle.truffle.api.nodes.Node location, long ptr)
      Specified by:
      getI8 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getI16

      public short getI16(com.oracle.truffle.api.nodes.Node location, long ptr)
      Specified by:
      getI16 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getI32

      public int getI32(com.oracle.truffle.api.nodes.Node location, long ptr)
      Specified by:
      getI32 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getIVarBit

      public com.oracle.truffle.llvm.runtime.LLVMIVarBit getIVarBit(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr, int bitWidth)
      Specified by:
      getIVarBit in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getI64

      public long getI64(com.oracle.truffle.api.nodes.Node location, long ptr)
      Specified by:
      getI64 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getFloat

      public float getFloat(com.oracle.truffle.api.nodes.Node location, long ptr)
      Specified by:
      getFloat in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getDouble

      public double getDouble(com.oracle.truffle.api.nodes.Node location, long ptr)
      Specified by:
      getDouble in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • get80BitFloat

      public com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat get80BitFloat(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr)
      Specified by:
      get80BitFloat in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • get128BitFloat

      public com.oracle.truffle.llvm.runtime.floating.LLVM128BitFloat get128BitFloat(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer addr)
      Specified by:
      get128BitFloat in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getPointer

      public com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer getPointer(com.oracle.truffle.api.nodes.Node location, long ptr)
      Specified by:
      getPointer in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • putI1

      public void putI1(com.oracle.truffle.api.nodes.Node location, long ptr, boolean value)
      Specified by:
      putI1 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • putI8

      public void putI8(com.oracle.truffle.api.nodes.Node location, long ptr, byte value)
      Specified by:
      putI8 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • putI16

      public void putI16(com.oracle.truffle.api.nodes.Node location, long ptr, short value)
      Specified by:
      putI16 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • putI32

      public void putI32(com.oracle.truffle.api.nodes.Node location, long ptr, int value)
      Specified by:
      putI32 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • putI64

      public void putI64(com.oracle.truffle.api.nodes.Node location, long ptr, long value)
      Specified by:
      putI64 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • putIVarBit

      public void putIVarBit(com.oracle.truffle.api.nodes.Node location, long addr, com.oracle.truffle.llvm.runtime.LLVMIVarBit value)
      Specified by:
      putIVarBit in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • putByteArray

      public void putByteArray(com.oracle.truffle.api.nodes.Node location, long ptr, byte[] bytes)
      Specified by:
      putByteArray in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • putFloat

      public void putFloat(com.oracle.truffle.api.nodes.Node location, long ptr, float value)
      Specified by:
      putFloat in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • putDouble

      public void putDouble(com.oracle.truffle.api.nodes.Node location, long ptr, double value)
      Specified by:
      putDouble in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • put80BitFloat

      public void put80BitFloat(com.oracle.truffle.api.nodes.Node location, long ptr, com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat value)
      Specified by:
      put80BitFloat in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • put128BitFloat

      public void put128BitFloat(com.oracle.truffle.api.nodes.Node location, long ptr, com.oracle.truffle.llvm.runtime.floating.LLVM128BitFloat value)
      Specified by:
      put128BitFloat in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • putPointer

      public void putPointer(com.oracle.truffle.api.nodes.Node location, long ptr, long ptrValue)
      Specified by:
      putPointer in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • compareAndSwapI32

      public com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI32 compareAndSwapI32(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer p, int comparisonValue, int newValue)
      Specified by:
      compareAndSwapI32 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • compareAndSwapI64

      public com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI64 compareAndSwapI64(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer p, long comparisonValue, long newValue)
      Specified by:
      compareAndSwapI64 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • compareAndSwapI8

      public com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI8 compareAndSwapI8(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer p, byte comparisonValue, byte newValue)
      Specified by:
      compareAndSwapI8 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • compareAndSwapI16

      public com.oracle.truffle.llvm.runtime.memory.LLVMMemory.CMPXCHGI16 compareAndSwapI16(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer p, short comparisonValue, short newValue)
      Specified by:
      compareAndSwapI16 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndSetI64

      public long getAndSetI64(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, long value)
      Specified by:
      getAndSetI64 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndAddI64

      public long getAndAddI64(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, long value)
      Specified by:
      getAndAddI64 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndSubI64

      public long getAndSubI64(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, long value)
      Specified by:
      getAndSubI64 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndOpI64

      public long getAndOpI64(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, long value, LongBinaryOperator f)
      Specified by:
      getAndOpI64 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndSetI32

      public int getAndSetI32(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, int value)
      Specified by:
      getAndSetI32 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndAddI32

      public int getAndAddI32(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, int value)
      Specified by:
      getAndAddI32 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndSubI32

      public int getAndSubI32(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, int value)
      Specified by:
      getAndSubI32 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndOpI32

      public int getAndOpI32(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, int value, IntBinaryOperator f)
      Specified by:
      getAndOpI32 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndOpI16

      public short getAndOpI16(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, short value, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.ShortBinaryOperator f)
      Specified by:
      getAndOpI16 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndOpI8

      public byte getAndOpI8(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, byte value, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.ByteBinaryOperator f)
      Specified by:
      getAndOpI8 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • getAndOpI1

      public boolean getAndOpI1(com.oracle.truffle.api.nodes.Node location, com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer address, boolean value, com.oracle.truffle.llvm.runtime.memory.LLVMMemory.BooleanBinaryOperator f)
      Specified by:
      getAndOpI1 in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory
    • createHandleContainer

      public com.oracle.truffle.llvm.runtime.memory.LLVMMemory.HandleContainer createHandleContainer(boolean deref, com.oracle.truffle.api.Assumption noHandleAssumption)
      Specified by:
      createHandleContainer in class com.oracle.truffle.llvm.runtime.memory.LLVMMemory