Package io.netty.util.internal
Class PlatformDependent0
java.lang.Object
io.netty.util.internal.PlatformDependent0
The
PlatformDependent
operations which requires access to sun.misc.*
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final long
private static final Method
private static final Method
(package private) static final Class
<?> private static final long
private static final long
private static final Constructor
<?> private static final Throwable
(package private) static final int
(package private) static final int
(package private) static final int
private static final long
private static final long
private static final Object
private static final boolean
private static final boolean
(package private) static final Method
private static final int
private static final InternalLogger
private static final long
private static final long
private static final boolean
private static final boolean
private static final boolean
(package private) static final sun.misc.Unsafe
private static final long
Limits the number of bytes to copy perUnsafe.copyMemory(long, long, long)
to allow safepoint polling during a large copy.private static final Throwable
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static int
(package private) static ByteBuffer
alignSlice
(ByteBuffer buffer, int alignment) (package private) static ByteBuffer
allocateDirectNoCleaner
(int capacity) (package private) static long
allocateMemory
(long size) (package private) static byte[]
allocateUninitializedArray
(int size) (package private) static long
Any value >= 0 should be considered as a valid max direct memory value.(package private) static long
(package private) static void
copyMemory
(long srcAddr, long dstAddr, long length) (package private) static void
copyMemory
(Object src, long srcOffset, Object dst, long dstOffset, long length) private static void
copyMemoryWithSafePointPolling
(long srcAddr, long dstAddr, long length) private static void
copyMemoryWithSafePointPolling
(Object src, long srcOffset, Object dst, long dstOffset, long length) (package private) static long
directBufferAddress
(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 Throwable
private static boolean
(package private) static void
freeMemory
(long address) private static Class
<?> (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 ClassLoader
getClassLoader
(Class<?> clazz) (package private) static ClassLoader
(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
(package private) static int
getIntVolatile
(long address) private static Method
(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
(package private) static Object
(package private) static short
getShort
(byte[] data, int index) (package private) static short
getShort
(long address) (package private) static ClassLoader
(package private) static Throwable
(package private) static boolean
(package private) static boolean
(package private) static boolean
(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
(package private) static boolean
private static boolean
(package private) static boolean
(package private) static boolean
(package private) static boolean
(package private) static boolean
isVirtualThread
(Thread thread) (package private) static boolean
isZero
(byte[] bytes, int startPos, int length) (package private) static int
private static int
(package private) static int
majorVersion
(String javaSpecVersion) (package private) static int
(package private) static ByteBuffer
newDirectBuffer
(long address, int capacity) (package private) static long
objectFieldOffset
(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
(package private) static void
putInt
(byte[] data, int index, int value) (package private) static void
putInt
(long address, int value) (package private) static void
putIntOrdered
(long adddress, int newValue) (package private) static void
putLong
(byte[] data, int index, long value) (package private) static void
putLong
(long address, long value) (package private) static void
(package private) static void
putShort
(byte[] data, int index, short value) (package private) static void
putShort
(long address, short value) (package private) static ByteBuffer
reallocateDirectNoCleaner
(ByteBuffer buffer, int capacity) (package private) static long
reallocateMemory
(long address, long newSize) (package private) static void
safeConstructPutInt
(Object object, long fieldOffset, int value) (package private) static void
setMemory
(long address, long bytes, byte value) (package private) static void
(package private) static void
throwException
(Throwable cause) (package private) static boolean
private static boolean
-
Field Details
-
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
-
ALLOCATE_ARRAY_METHOD
-
ALIGN_SLICE
-
JAVA_VERSION
private static final int JAVA_VERSION -
IS_ANDROID
private static final boolean IS_ANDROID -
EXPLICIT_NO_UNSAFE_CAUSE
-
STORE_FENCE_AVAILABLE
private static final boolean STORE_FENCE_AVAILABLE -
UNSAFE_UNAVAILABILITY_CAUSE
-
INTERNAL_UNSAFE
-
RUNNING_IN_NATIVE_IMAGE
private static final boolean RUNNING_IN_NATIVE_IMAGE -
IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE
private static final boolean IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE -
IS_VIRTUAL_THREAD_METHOD
-
BASE_VIRTUAL_THREAD_CLASS
-
UNSAFE
static final sun.misc.Unsafe UNSAFE -
HASH_CODE_ASCII_SEED
static final int HASH_CODE_ASCII_SEED- See Also:
-
HASH_CODE_C1
static final int HASH_CODE_C1- See Also:
-
HASH_CODE_C2
static final int HASH_CODE_C2- See Also:
-
UNSAFE_COPY_THRESHOLD
private static final long UNSAFE_COPY_THRESHOLDLimits the number of bytes to copy perUnsafe.copyMemory(long, long, long)
to allow safepoint polling during a large copy.- See Also:
-
UNALIGNED
private static final boolean UNALIGNED -
BITS_MAX_DIRECT_MEMORY
private static final long BITS_MAX_DIRECT_MEMORY
-
-
Constructor Details
-
PlatformDependent0
private PlatformDependent0()
-
-
Method Details
-
getIsVirtualThreadMethod
-
getBaseVirtualThreadClass
-
isVirtualThread
- Parameters:
thread
- The thread to be checked.- Returns:
true
if thisThread
is a virtual thread,false
otherwise.
-
unsafeStaticFieldOffsetSupported
private static boolean unsafeStaticFieldOffsetSupported() -
isExplicitNoUnsafe
static boolean isExplicitNoUnsafe() -
explicitNoUnsafeCause0
-
isUnaligned
static boolean isUnaligned() -
bitsMaxDirectMemory
static long bitsMaxDirectMemory()Any value >= 0 should be considered as a valid max direct memory value. -
hasUnsafe
static boolean hasUnsafe() -
unalignedAccess
static boolean unalignedAccess() -
throwException
-
hasDirectBufferNoCleanerConstructor
static boolean hasDirectBufferNoCleanerConstructor() -
reallocateDirectNoCleaner
-
allocateDirectNoCleaner
-
hasAlignSliceMethod
static boolean hasAlignSliceMethod() -
alignSlice
-
hasAllocateArrayMethod
static boolean hasAllocateArrayMethod() -
allocateUninitializedArray
static byte[] allocateUninitializedArray(int size) -
newDirectBuffer
-
directBufferAddress
-
byteArrayBaseOffset
static long byteArrayBaseOffset() -
getObject
-
getInt
-
safeConstructPutInt
-
getLong
-
objectFieldOffset
-
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) -
getIntVolatile
static int getIntVolatile(long address) -
putIntOrdered
static void putIntOrdered(long adddress, int newValue) -
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) -
putByte
-
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
-
copyMemory
static void copyMemory(long srcAddr, long dstAddr, long length) -
copyMemoryWithSafePointPolling
private static void copyMemoryWithSafePointPolling(long srcAddr, long dstAddr, long length) -
copyMemory
-
copyMemoryWithSafePointPolling
-
setMemory
static void setMemory(long address, long bytes, byte value) -
setMemory
-
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
-
getContextClassLoader
-
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
-