Package io.netty.util.internal
Class PlatformDependent0
- java.lang.Object
-
- io.netty.util.internal.PlatformDependent0
-
final class PlatformDependent0 extends java.lang.Object
ThePlatformDependent
operations which requires access tosun.misc.*
.
-
-
Field Summary
Fields Modifier and Type Field 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
private static java.lang.Throwable
EXPLICIT_NO_UNSAFE_CAUSE
(package private) static int
HASH_CODE_ASCII_SEED
(package private) static int
HASH_CODE_C1
(package private) static int
HASH_CODE_C2
private static long
INT_ARRAY_BASE_OFFSET
private static long
INT_ARRAY_INDEX_SCALE
private static java.lang.Object
INTERNAL_UNSAFE
private static boolean
IS_ANDROID
private static boolean
IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE
private static int
JAVA_VERSION
private static InternalLogger
logger
private static long
LONG_ARRAY_BASE_OFFSET
private static long
LONG_ARRAY_INDEX_SCALE
private static boolean
UNALIGNED
(package private) static sun.misc.Unsafe
UNSAFE
private static long
UNSAFE_COPY_THRESHOLD
Limits the number of bytes to copy perUnsafe.copyMemory(long, long, long)
to allow safepoint polling during a large copy.private static java.lang.Throwable
UNSAFE_UNAVAILABILITY_CAUSE
-
Constructor Summary
Constructors Modifier Constructor Description private
PlatformDependent0()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method 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)
private static void
copyMemoryWithSafePointPolling(long srcAddr, long dstAddr, long length)
private static void
copyMemoryWithSafePointPolling(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 java.lang.Throwable
explicitNoUnsafeCause0()
private static boolean
explicitTryReflectionSetAccessible0()
(package private) static void
freeMemory(long address)
(package private) static byte
getByte(byte[] data, int index)
(package private) static byte
getByte(byte[] data, long 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(int[] data, long 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)
(package private) static long
getLong(long[] data, long index)
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 java.lang.Throwable
getUnsafeUnavailabilityCause()
(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
isExplicitTryReflectionSetAccessible()
(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
putObject(java.lang.Object o, long offset, java.lang.Object x)
(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()
-
-
-
Field Detail
-
logger
private static final InternalLogger logger
-
ADDRESS_FIELD_OFFSET
private static final long ADDRESS_FIELD_OFFSET
-
BYTE_ARRAY_BASE_OFFSET
private static final long BYTE_ARRAY_BASE_OFFSET
-
INT_ARRAY_BASE_OFFSET
private static final long INT_ARRAY_BASE_OFFSET
-
INT_ARRAY_INDEX_SCALE
private static final long INT_ARRAY_INDEX_SCALE
-
LONG_ARRAY_BASE_OFFSET
private static final long LONG_ARRAY_BASE_OFFSET
-
LONG_ARRAY_INDEX_SCALE
private static final long LONG_ARRAY_INDEX_SCALE
-
DIRECT_BUFFER_CONSTRUCTOR
private static final java.lang.reflect.Constructor<?> DIRECT_BUFFER_CONSTRUCTOR
-
EXPLICIT_NO_UNSAFE_CAUSE
private static final java.lang.Throwable EXPLICIT_NO_UNSAFE_CAUSE
-
ALLOCATE_ARRAY_METHOD
private static final java.lang.reflect.Method ALLOCATE_ARRAY_METHOD
-
JAVA_VERSION
private static final int JAVA_VERSION
-
IS_ANDROID
private static final boolean IS_ANDROID
-
UNSAFE_UNAVAILABILITY_CAUSE
private static final java.lang.Throwable UNSAFE_UNAVAILABILITY_CAUSE
-
INTERNAL_UNSAFE
private static final java.lang.Object INTERNAL_UNSAFE
-
IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE
private static final boolean IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE
-
UNSAFE
static final sun.misc.Unsafe UNSAFE
-
HASH_CODE_ASCII_SEED
static final int HASH_CODE_ASCII_SEED
- See Also:
- Constant Field Values
-
HASH_CODE_C1
static final int HASH_CODE_C1
- See Also:
- Constant Field Values
-
HASH_CODE_C2
static final int HASH_CODE_C2
- See Also:
- Constant Field Values
-
UNSAFE_COPY_THRESHOLD
private static final long UNSAFE_COPY_THRESHOLD
Limits the number of bytes to copy perUnsafe.copyMemory(long, long, long)
to allow safepoint polling during a large copy.- See Also:
- Constant Field Values
-
UNALIGNED
private static final boolean UNALIGNED
-
-
Method Detail
-
isExplicitNoUnsafe
static boolean isExplicitNoUnsafe()
-
explicitNoUnsafeCause0
private static java.lang.Throwable explicitNoUnsafeCause0()
-
isUnaligned
static boolean isUnaligned()
-
hasUnsafe
static boolean hasUnsafe()
-
getUnsafeUnavailabilityCause
static java.lang.Throwable getUnsafeUnavailabilityCause()
-
unalignedAccess
static boolean unalignedAccess()
-
throwException
static void throwException(java.lang.Throwable cause)
-
hasDirectBufferNoCleanerConstructor
static boolean hasDirectBufferNoCleanerConstructor()
-
reallocateDirectNoCleaner
static java.nio.ByteBuffer reallocateDirectNoCleaner(java.nio.ByteBuffer buffer, int capacity)
-
allocateDirectNoCleaner
static java.nio.ByteBuffer allocateDirectNoCleaner(int capacity)
-
hasAllocateArrayMethod
static boolean hasAllocateArrayMethod()
-
allocateUninitializedArray
static byte[] allocateUninitializedArray(int size)
-
newDirectBuffer
static java.nio.ByteBuffer newDirectBuffer(long address, int capacity)
-
directBufferAddress
static long directBufferAddress(java.nio.ByteBuffer buffer)
-
byteArrayBaseOffset
static long byteArrayBaseOffset()
-
getObject
static java.lang.Object getObject(java.lang.Object object, long fieldOffset)
-
getInt
static int getInt(java.lang.Object object, long fieldOffset)
-
getLong
private static long getLong(java.lang.Object object, long fieldOffset)
-
objectFieldOffset
static long objectFieldOffset(java.lang.reflect.Field field)
-
getByte
static byte getByte(long address)
-
getShort
static short getShort(long address)
-
getInt
static int getInt(long address)
-
getLong
static long getLong(long address)
-
getByte
static byte getByte(byte[] data, int index)
-
getByte
static byte getByte(byte[] data, long index)
-
getShort
static short getShort(byte[] data, int index)
-
getInt
static int getInt(byte[] data, int index)
-
getInt
static int getInt(int[] data, long index)
-
getLong
static long getLong(byte[] data, int index)
-
getLong
static long getLong(long[] data, long index)
-
putByte
static void putByte(long address, byte value)
-
putShort
static void putShort(long address, short value)
-
putInt
static void putInt(long address, int value)
-
putLong
static void putLong(long address, long value)
-
putByte
static void putByte(byte[] data, int index, byte value)
-
putShort
static void putShort(byte[] data, int index, short value)
-
putInt
static void putInt(byte[] data, int index, int value)
-
putLong
static void putLong(byte[] data, int index, long value)
-
putObject
static void putObject(java.lang.Object o, long offset, java.lang.Object x)
-
copyMemory
static void copyMemory(long srcAddr, long dstAddr, long length)
-
copyMemoryWithSafePointPolling
private static void copyMemoryWithSafePointPolling(long srcAddr, long dstAddr, long length)
-
copyMemory
static void copyMemory(java.lang.Object src, long srcOffset, java.lang.Object dst, long dstOffset, long length)
-
copyMemoryWithSafePointPolling
private static void copyMemoryWithSafePointPolling(java.lang.Object src, long srcOffset, java.lang.Object dst, long dstOffset, long length)
-
setMemory
static void setMemory(long address, long bytes, byte value)
-
setMemory
static void setMemory(java.lang.Object o, long offset, long bytes, byte value)
-
equals
static boolean equals(byte[] bytes1, int startPos1, byte[] bytes2, int startPos2, int length)
-
equalsConstantTime
static int equalsConstantTime(byte[] bytes1, int startPos1, byte[] bytes2, int startPos2, int length)
-
isZero
static boolean isZero(byte[] bytes, int startPos, int length)
-
hashCodeAscii
static int hashCodeAscii(byte[] bytes, int startPos, int length)
-
hashCodeAsciiCompute
static int hashCodeAsciiCompute(long value, int hash)
-
hashCodeAsciiSanitize
static int hashCodeAsciiSanitize(int value)
-
hashCodeAsciiSanitize
static int hashCodeAsciiSanitize(short value)
-
hashCodeAsciiSanitize
static int hashCodeAsciiSanitize(byte value)
-
getClassLoader
static java.lang.ClassLoader getClassLoader(java.lang.Class<?> clazz)
-
getContextClassLoader
static java.lang.ClassLoader getContextClassLoader()
-
getSystemClassLoader
static java.lang.ClassLoader getSystemClassLoader()
-
addressSize
static int addressSize()
-
allocateMemory
static long allocateMemory(long size)
-
freeMemory
static void freeMemory(long address)
-
reallocateMemory
static long reallocateMemory(long address, long newSize)
-
isAndroid
static boolean isAndroid()
-
isAndroid0
private static boolean isAndroid0()
-
explicitTryReflectionSetAccessible0
private static boolean explicitTryReflectionSetAccessible0()
-
isExplicitTryReflectionSetAccessible
static boolean isExplicitTryReflectionSetAccessible()
-
javaVersion
static int javaVersion()
-
javaVersion0
private static int javaVersion0()
-
majorVersionFromJavaSpecificationVersion
static int majorVersionFromJavaSpecificationVersion()
-
majorVersion
static int majorVersion(java.lang.String javaSpecVersion)
-
-