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 java.lang.reflect.Method |
ALLOCATE_ARRAY_METHOD |
private static long |
BYTE_ARRAY_BASE_OFFSET |
private static java.lang.reflect.Constructor<?> |
DIRECT_BUFFER_CONSTRUCTOR |
(package private) static int |
HASH_CODE_ASCII_SEED |
(package private) static int |
HASH_CODE_C1 |
(package private) static int |
HASH_CODE_C2 |
private static java.lang.Object |
INTERNAL_UNSAFE |
private static boolean |
IS_ANDROID |
private static boolean |
IS_EXPLICIT_NO_UNSAFE |
private static int |
JAVA_VERSION |
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 byte[] |
allocateUninitializedArray(int size) |
(package private) static long |
byteArrayBaseOffset() |
(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 boolean |
equals(byte[] bytes1,
int startPos1,
byte[] bytes2,
int startPos2,
int length) |
(package private) static int |
equalsConstantTime(byte[] bytes1,
int startPos1,
byte[] bytes2,
int startPos2,
int length) |
private static boolean |
explicitNoUnsafe0() |
(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 short |
getShort(byte[] data,
int index) |
(package private) static short |
getShort(long address) |
(package private) static java.lang.ClassLoader |
getSystemClassLoader() |
(package private) static boolean |
hasAllocateArrayMethod() |
(package private) static boolean |
hasDirectBufferNoCleanerConstructor() |
(package private) static int |
hashCodeAscii(byte[] bytes,
int startPos,
int length) |
(package private) static int |
hashCodeAsciiCompute(long value,
int hash) |
(package private) static int |
hashCodeAsciiSanitize(byte value) |
(package private) static int |
hashCodeAsciiSanitize(int value) |
(package private) static int |
hashCodeAsciiSanitize(short value) |
(package private) static boolean |
hasUnsafe() |
(package private) static boolean |
isAndroid() |
private static boolean |
isAndroid0() |
(package private) static boolean |
isExplicitNoUnsafe() |
(package private) static boolean |
isUnaligned() |
(package private) static boolean |
isZero(byte[] bytes,
int startPos,
int length) |
(package private) static int |
javaVersion() |
private static int |
javaVersion0() |
(package private) static int |
majorVersion(java.lang.String javaSpecVersion) |
(package private) static int |
majorVersionFromJavaSpecificationVersion() |
(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 |
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 long |
reallocateMemory(long address,
long newSize) |
(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) |
(package private) static boolean |
unalignedAccess() |
private static final InternalLogger logger
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 boolean IS_EXPLICIT_NO_UNSAFE
private static final java.lang.reflect.Method ALLOCATE_ARRAY_METHOD
private static final int JAVA_VERSION
private static final boolean IS_ANDROID
private static final java.lang.Object INTERNAL_UNSAFE
static final sun.misc.Unsafe UNSAFE
static final int HASH_CODE_ASCII_SEED
static final int HASH_CODE_C1
static final int HASH_CODE_C2
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 isExplicitNoUnsafe()
private static boolean explicitNoUnsafe0()
static boolean isUnaligned()
static boolean hasUnsafe()
static boolean unalignedAccess()
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 boolean hasAllocateArrayMethod()
static byte[] allocateUninitializedArray(int size)
static java.nio.ByteBuffer newDirectBuffer(long address, int capacity)
static long directBufferAddress(java.nio.ByteBuffer buffer)
static long byteArrayBaseOffset()
static java.lang.Object getObject(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 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 boolean equals(byte[] bytes1, int startPos1, byte[] bytes2, int startPos2, int length)
static int equalsConstantTime(byte[] bytes1, int startPos1, byte[] bytes2, int startPos2, int length)
static boolean isZero(byte[] bytes, int startPos, int length)
static int hashCodeAscii(byte[] bytes, int startPos, int length)
static int hashCodeAsciiCompute(long value, int hash)
static int hashCodeAsciiSanitize(int value)
static int hashCodeAsciiSanitize(short value)
static int hashCodeAsciiSanitize(byte value)
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)
static long reallocateMemory(long address, long newSize)
static boolean isAndroid()
private static boolean isAndroid0()
static int javaVersion()
private static int javaVersion0()
static int majorVersionFromJavaSpecificationVersion()
static int majorVersion(java.lang.String javaSpecVersion)