public final class JavaMemoryUtil extends Object
The valid use cases are listed below. For all other use cases, use UnmanagedMemoryUtil
instead.
More specialized methods (e.g., methods for copying primitive arrays) are faster than more generic ones. So, performance-wise it is best to call the most specific method that is applicable to your use case.
Modifier and Type | Method and Description |
---|---|
static void |
copy(Object from,
org.graalvm.word.UnsignedWord fromOffset,
Object to,
org.graalvm.word.UnsignedWord toOffset,
org.graalvm.word.UnsignedWord size)
Copy bytes from one Java object to another.
|
static void |
copy(org.graalvm.word.Pointer from,
org.graalvm.word.Pointer to,
org.graalvm.word.UnsignedWord size)
Copy bytes from one memory area to another.
|
static void |
copyBackward(Object from,
org.graalvm.word.UnsignedWord fromOffset,
Object to,
org.graalvm.word.UnsignedWord toOffset,
org.graalvm.word.UnsignedWord size)
Copy bytes from one Java object to another.
|
static void |
copyBackward(org.graalvm.word.Pointer from,
org.graalvm.word.Pointer to,
org.graalvm.word.UnsignedWord size)
Copy bytes from one memory area to another.
|
static void |
copyForward(Object from,
org.graalvm.word.UnsignedWord fromOffset,
Object to,
org.graalvm.word.UnsignedWord toOffset,
org.graalvm.word.UnsignedWord size)
Copy bytes from one Java object to another.
|
static void |
copyForward(org.graalvm.word.Pointer from,
org.graalvm.word.Pointer to,
org.graalvm.word.UnsignedWord size)
Copy bytes from one memory area to another.
|
static void |
copyObjectArrayBackward(Object fromArray,
int fromIndex,
Object toArray,
int toIndex,
int length,
int layoutEncoding)
Copies between Java object arrays.
|
static void |
copyObjectArrayForward(Object fromArray,
int fromIndex,
Object toArray,
int toIndex,
int length,
int layoutEncoding)
Copies between Java object arrays.
|
static void |
copyObjectArrayForwardWithStoreCheck(Object fromArray,
int fromIndex,
Object toArray,
int toIndex,
int length)
Copies between Java object arrays.
|
static void |
copyPrimitiveArrayBackward(Object fromArray,
int fromIndex,
Object toArray,
int toIndex,
int length,
int layoutEncoding)
Copies between Java primitive arrays.
|
static void |
copyPrimitiveArrayBackward(org.graalvm.word.Pointer fromPtr,
org.graalvm.word.Pointer toPtr,
org.graalvm.word.UnsignedWord size) |
static void |
copyPrimitiveArrayForward(Object fromArray,
int fromIndex,
Object toArray,
int toIndex,
int length,
int layoutEncoding)
Copies between Java primitive arrays.
|
static void |
copyPrimitiveArrayForward(org.graalvm.word.Pointer fromPtr,
org.graalvm.word.Pointer toPtr,
org.graalvm.word.UnsignedWord size) |
static void |
copyReferencesBackward(Object from,
org.graalvm.word.UnsignedWord fromOffset,
Object to,
org.graalvm.word.UnsignedWord toOffset,
org.graalvm.word.UnsignedWord length)
Copies object references from one Java object to another Java object.
|
static void |
copyReferencesForward(Object from,
org.graalvm.word.UnsignedWord fromOffset,
Object to,
org.graalvm.word.UnsignedWord toOffset,
org.graalvm.word.UnsignedWord length)
Copies object references from one Java object to another Java object.
|
static void |
copySwap(org.graalvm.word.Pointer from,
org.graalvm.word.Pointer to,
org.graalvm.word.UnsignedWord size,
org.graalvm.word.UnsignedWord elementSize)
Copy memory from one memory area to another, unconditionally reversing bytes of an element
according to the passed element size.
|
static void |
fill(org.graalvm.word.Pointer to,
org.graalvm.word.UnsignedWord size,
byte value)
Set the bytes of a memory area to a given value.
|
static void |
unsafeCopyMemory(Object srcBase,
long srcOffset,
Object destBase,
long destOffset,
long bytes)
Implementation of
Unsafe.copyMemory . |
static void |
unsafeCopySwapMemory(Object srcBase,
long srcOffset,
Object destBase,
long destOffset,
long bytes,
long elemSize)
Implementation of
Unsafe.copySwapMemory . |
static void |
unsafeSetMemory(Object destBase,
long destOffset,
long bytes,
byte bvalue)
Implementation of
Unsafe.setMemory . |
public static void copy(Object from, org.graalvm.word.UnsignedWord fromOffset, Object to, org.graalvm.word.UnsignedWord toOffset, org.graalvm.word.UnsignedWord size)
public static void copyForward(Object from, org.graalvm.word.UnsignedWord fromOffset, Object to, org.graalvm.word.UnsignedWord toOffset, org.graalvm.word.UnsignedWord size)
public static void copyBackward(Object from, org.graalvm.word.UnsignedWord fromOffset, Object to, org.graalvm.word.UnsignedWord toOffset, org.graalvm.word.UnsignedWord size)
public static void copy(org.graalvm.word.Pointer from, org.graalvm.word.Pointer to, org.graalvm.word.UnsignedWord size)
public static void copyForward(org.graalvm.word.Pointer from, org.graalvm.word.Pointer to, org.graalvm.word.UnsignedWord size)
public static void copyBackward(org.graalvm.word.Pointer from, org.graalvm.word.Pointer to, org.graalvm.word.UnsignedWord size)
public static void unsafeCopyMemory(Object srcBase, long srcOffset, Object destBase, long destOffset, long bytes)
Unsafe.copyMemory
.public static void fill(org.graalvm.word.Pointer to, org.graalvm.word.UnsignedWord size, byte value)
public static void unsafeSetMemory(Object destBase, long destOffset, long bytes, byte bvalue)
Unsafe.setMemory
.public static void copySwap(org.graalvm.word.Pointer from, org.graalvm.word.Pointer to, org.graalvm.word.UnsignedWord size, org.graalvm.word.UnsignedWord elementSize)
public static void unsafeCopySwapMemory(Object srcBase, long srcOffset, Object destBase, long destOffset, long bytes, long elemSize)
Unsafe.copySwapMemory
.public static void copyObjectArrayForward(Object fromArray, int fromIndex, Object toArray, int toIndex, int length, int layoutEncoding)
public static void copyObjectArrayBackward(Object fromArray, int fromIndex, Object toArray, int toIndex, int length, int layoutEncoding)
public static void copyReferencesForward(Object from, org.graalvm.word.UnsignedWord fromOffset, Object to, org.graalvm.word.UnsignedWord toOffset, org.graalvm.word.UnsignedWord length)
public static void copyReferencesBackward(Object from, org.graalvm.word.UnsignedWord fromOffset, Object to, org.graalvm.word.UnsignedWord toOffset, org.graalvm.word.UnsignedWord length)
public static void copyObjectArrayForwardWithStoreCheck(Object fromArray, int fromIndex, Object toArray, int toIndex, int length)
public static void copyPrimitiveArrayForward(Object fromArray, int fromIndex, Object toArray, int toIndex, int length, int layoutEncoding)
public static void copyPrimitiveArrayForward(org.graalvm.word.Pointer fromPtr, org.graalvm.word.Pointer toPtr, org.graalvm.word.UnsignedWord size)
public static void copyPrimitiveArrayBackward(Object fromArray, int fromIndex, Object toArray, int toIndex, int length, int layoutEncoding)
public static void copyPrimitiveArrayBackward(org.graalvm.word.Pointer fromPtr, org.graalvm.word.Pointer toPtr, org.graalvm.word.UnsignedWord size)