final class PlatformDependent0
extends java.lang.Object
PlatformDependent
operations which requires access to sun.misc.*
.Modifier and Type | Field and Description |
---|---|
private static long |
ADDRESS_FIELD_OFFSET |
private static long |
BYTE_ARRAY_BASE_OFFSET |
private static java.lang.reflect.Constructor<?> |
DIRECT_BUFFER_CONSTRUCTOR |
private static InternalLogger |
logger |
private static boolean |
UNALIGNED |
(package private) static sun.misc.Unsafe |
UNSAFE |
private static long |
UNSAFE_COPY_THRESHOLD
Limits the number of bytes to copy per
Unsafe.copyMemory(long, long, long) to allow safepoint polling
during a large copy. |
Modifier | Constructor and Description |
---|---|
private |
PlatformDependent0() |
Modifier and Type | Method and Description |
---|---|
(package private) static int |
addressSize() |
(package private) static java.nio.ByteBuffer |
allocateDirectNoCleaner(int capacity) |
(package private) static long |
allocateMemory(long size) |
(package private) static long |
arrayBaseOffset() |
(package private) static void |
copyMemory(long srcAddr,
long dstAddr,
long length) |
(package private) static void |
copyMemory(java.lang.Object src,
long srcOffset,
java.lang.Object dst,
long dstOffset,
long length) |
(package private) static long |
directBufferAddress(java.nio.ByteBuffer buffer) |
(package private) static void |
freeDirectBuffer(java.nio.ByteBuffer buffer) |
(package private) static void |
freeMemory(long address) |
(package private) static byte |
getByte(byte[] data,
int index) |
(package private) static byte |
getByte(long address) |
(package private) static java.lang.ClassLoader |
getClassLoader(java.lang.Class<?> clazz) |
(package private) static java.lang.ClassLoader |
getContextClassLoader() |
(package private) static int |
getInt(byte[] data,
int index) |
(package private) static int |
getInt(long address) |
(package private) static int |
getInt(java.lang.Object object,
long fieldOffset) |
(package private) static long |
getLong(byte[] data,
int index) |
(package private) static long |
getLong(long address) |
private static long |
getLong(java.lang.Object object,
long fieldOffset) |
(package private) static java.lang.Object |
getObject(java.lang.Object object,
long fieldOffset) |
(package private) static java.lang.Object |
getObjectVolatile(java.lang.Object object,
long fieldOffset) |
(package private) static short |
getShort(byte[] data,
int index) |
(package private) static short |
getShort(long address) |
(package private) static java.lang.ClassLoader |
getSystemClassLoader() |
(package private) static boolean |
hasDirectBufferNoCleanerConstructor() |
(package private) static boolean |
hasUnsafe() |
(package private) static boolean |
isUnaligned() |
(package private) static <T> java.util.concurrent.atomic.AtomicIntegerFieldUpdater<T> |
newAtomicIntegerFieldUpdater(java.lang.Class<? super T> tclass,
java.lang.String fieldName) |
(package private) static <T> java.util.concurrent.atomic.AtomicLongFieldUpdater<T> |
newAtomicLongFieldUpdater(java.lang.Class<? super T> tclass,
java.lang.String fieldName) |
(package private) static <U,W> java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U,W> |
newAtomicReferenceFieldUpdater(java.lang.Class<? super U> tclass,
java.lang.String fieldName) |
(package private) static java.nio.ByteBuffer |
newDirectBuffer(long address,
int capacity) |
(package private) static long |
objectFieldOffset(java.lang.reflect.Field field) |
(package private) static void |
putByte(byte[] data,
int index,
byte value) |
(package private) static void |
putByte(long address,
byte value) |
(package private) static void |
putInt(byte[] data,
int index,
int value) |
(package private) static void |
putInt(long address,
int value) |
(package private) static void |
putLong(byte[] data,
int index,
long value) |
(package private) static void |
putLong(long address,
long value) |
(package private) static void |
putOrderedObject(java.lang.Object object,
long address,
java.lang.Object value) |
(package private) static void |
putShort(byte[] data,
int index,
short value) |
(package private) static void |
putShort(long address,
short value) |
(package private) static java.nio.ByteBuffer |
reallocateDirectNoCleaner(java.nio.ByteBuffer buffer,
int capacity) |
(package private) static void |
setMemory(long address,
long bytes,
byte value) |
(package private) static void |
setMemory(java.lang.Object o,
long offset,
long bytes,
byte value) |
(package private) static void |
throwException(java.lang.Throwable cause) |
private static final InternalLogger logger
static final sun.misc.Unsafe UNSAFE
private static final long ADDRESS_FIELD_OFFSET
private static final long BYTE_ARRAY_BASE_OFFSET
private static final java.lang.reflect.Constructor<?> DIRECT_BUFFER_CONSTRUCTOR
private static final long UNSAFE_COPY_THRESHOLD
Unsafe.copyMemory(long, long, long)
to allow safepoint polling
during a large copy.private static final boolean UNALIGNED
static boolean isUnaligned()
static boolean hasUnsafe()
static void throwException(java.lang.Throwable cause)
static boolean hasDirectBufferNoCleanerConstructor()
static java.nio.ByteBuffer reallocateDirectNoCleaner(java.nio.ByteBuffer buffer, int capacity)
static java.nio.ByteBuffer allocateDirectNoCleaner(int capacity)
static java.nio.ByteBuffer newDirectBuffer(long address, int capacity)
static void freeDirectBuffer(java.nio.ByteBuffer buffer)
static long directBufferAddress(java.nio.ByteBuffer buffer)
static long arrayBaseOffset()
static java.lang.Object getObject(java.lang.Object object, long fieldOffset)
static java.lang.Object getObjectVolatile(java.lang.Object object, long fieldOffset)
static int getInt(java.lang.Object object, long fieldOffset)
private static long getLong(java.lang.Object object, long fieldOffset)
static long objectFieldOffset(java.lang.reflect.Field field)
static byte getByte(long address)
static short getShort(long address)
static int getInt(long address)
static long getLong(long address)
static byte getByte(byte[] data, int index)
static short getShort(byte[] data, int index)
static int getInt(byte[] data, int index)
static long getLong(byte[] data, int index)
static void putOrderedObject(java.lang.Object object, long address, java.lang.Object value)
static void putByte(long address, byte value)
static void putShort(long address, short value)
static void putInt(long address, int value)
static void putLong(long address, long value)
static void putByte(byte[] data, int index, byte value)
static void putShort(byte[] data, int index, short value)
static void putInt(byte[] data, int index, int value)
static void putLong(byte[] data, int index, long value)
static void copyMemory(long srcAddr, long dstAddr, long length)
static void copyMemory(java.lang.Object src, long srcOffset, java.lang.Object dst, long dstOffset, long length)
static void setMemory(long address, long bytes, byte value)
static void setMemory(java.lang.Object o, long offset, long bytes, byte value)
static <U,W> java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U,W> newAtomicReferenceFieldUpdater(java.lang.Class<? super U> tclass, java.lang.String fieldName) throws java.lang.Exception
java.lang.Exception
static <T> java.util.concurrent.atomic.AtomicIntegerFieldUpdater<T> newAtomicIntegerFieldUpdater(java.lang.Class<? super T> tclass, java.lang.String fieldName) throws java.lang.Exception
java.lang.Exception
static <T> java.util.concurrent.atomic.AtomicLongFieldUpdater<T> newAtomicLongFieldUpdater(java.lang.Class<? super T> tclass, java.lang.String fieldName) throws java.lang.Exception
java.lang.Exception
static java.lang.ClassLoader getClassLoader(java.lang.Class<?> clazz)
static java.lang.ClassLoader getContextClassLoader()
static java.lang.ClassLoader getSystemClassLoader()
static int addressSize()
static long allocateMemory(long size)
static void freeMemory(long address)