Class TUnsafe
- java.lang.Object
-
- de.mirkosertic.bytecoder.classlib.jdk.internal.misc.TUnsafe
-
public class TUnsafe extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static int
ARRAY_BOOLEAN_INDEX_SCALE
static int
ARRAY_BYTE_INDEX_SCALE
static int
ARRAY_CHAR_INDEX_SCALE
static int
ARRAY_DOUBLE_INDEX_SCALE
static int
ARRAY_FLOAT_INDEX_SCALE
static int
ARRAY_INT_INDEX_SCALE
static int
ARRAY_LONG_INDEX_SCALE
static int
ARRAY_SHORT_INDEX_SCALE
private static TUnsafe
INSTANCE
-
Constructor Summary
Constructors Constructor Description TUnsafe()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
allocateMemory(long aAmount)
int
arrayBaseOffset(java.lang.Class clazz)
int
arrayIndexScale(java.lang.Class clazz)
boolean
compareAndSetReference(java.lang.Object o1, long l, java.lang.Object o2, java.lang.Object o3)
void
copyMemory(long a, long b, long c)
void
copyMemory(java.lang.Object o, long a, java.lang.Object b, long c, long d)
void
copySwapMemory(java.lang.Object a, long b, java.lang.Object c, long d, long e, long f)
void
ensureClassInitialized(java.lang.Class<?> c)
void
freeMemory(long a)
long
getAddress(long a)
int
getAndAddInt(java.lang.Object ol, long a, int b)
byte
getByte(long a)
char
getChar(long a)
char
getCharUnaligned(java.lang.Object o, long a)
char
getCharUnaligned(java.lang.Object o, long a, boolean b)
float
getFloat(long a)
int
getInt(long a)
int
getInt(java.lang.Object o, long a)
int
getIntUnaligned(java.lang.Object o, long a)
int
getIntUnaligned(java.lang.Object o, long a, boolean b)
long
getLongUnaligned(java.lang.Object o, long a)
long
getLongUnaligned(java.lang.Object o, long a, boolean b)
java.lang.Object
getReference(java.lang.Object a, long b)
short
getShort(long a)
short
getShortUnaligned(java.lang.Object o, long a, boolean b)
static TUnsafe
getUnsafe()
boolean
isBigEndian()
long
objectFieldOffset(java.lang.Class clazz, java.lang.String fieldName)
int
pageSize()
void
putByte(long a, byte b)
void
putChar(long a, char b)
void
putCharUnaligned(java.lang.Object a, long b, char c, boolean d)
void
putFloat(long a, float b)
void
putInt(long a, int b)
void
putIntUnaligned(java.lang.Object a, long b, int c, boolean d)
void
putReference(java.lang.Object a, long b, java.lang.Object c)
void
putReferenceRelease(java.lang.Object a, long b, java.lang.Object c)
void
putShort(long a, short b)
void
putShortUnaligned(java.lang.Object a, long b, short c, boolean d)
long
reallocateMemory(long a, long b)
void
setMemory(long a, long b, byte c)
void
storeFence()
boolean
unalignedAccess()
-
-
-
Field Detail
-
INSTANCE
private static final TUnsafe INSTANCE
-
ARRAY_BOOLEAN_INDEX_SCALE
public static final int ARRAY_BOOLEAN_INDEX_SCALE
- See Also:
- Constant Field Values
-
ARRAY_BYTE_INDEX_SCALE
public static final int ARRAY_BYTE_INDEX_SCALE
- See Also:
- Constant Field Values
-
ARRAY_CHAR_INDEX_SCALE
public static final int ARRAY_CHAR_INDEX_SCALE
- See Also:
- Constant Field Values
-
ARRAY_SHORT_INDEX_SCALE
public static final int ARRAY_SHORT_INDEX_SCALE
- See Also:
- Constant Field Values
-
ARRAY_INT_INDEX_SCALE
public static final int ARRAY_INT_INDEX_SCALE
- See Also:
- Constant Field Values
-
ARRAY_LONG_INDEX_SCALE
public static final int ARRAY_LONG_INDEX_SCALE
- See Also:
- Constant Field Values
-
ARRAY_FLOAT_INDEX_SCALE
public static final int ARRAY_FLOAT_INDEX_SCALE
- See Also:
- Constant Field Values
-
ARRAY_DOUBLE_INDEX_SCALE
public static final int ARRAY_DOUBLE_INDEX_SCALE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getUnsafe
public static TUnsafe getUnsafe()
-
arrayBaseOffset
public int arrayBaseOffset(java.lang.Class clazz)
-
arrayIndexScale
public int arrayIndexScale(java.lang.Class clazz)
-
objectFieldOffset
public long objectFieldOffset(java.lang.Class clazz, java.lang.String fieldName)
-
storeFence
public void storeFence()
-
ensureClassInitialized
public void ensureClassInitialized(java.lang.Class<?> c)
-
isBigEndian
public boolean isBigEndian()
-
getLongUnaligned
public long getLongUnaligned(java.lang.Object o, long a)
-
getLongUnaligned
public long getLongUnaligned(java.lang.Object o, long a, boolean b)
-
getIntUnaligned
public int getIntUnaligned(java.lang.Object o, long a)
-
getIntUnaligned
public int getIntUnaligned(java.lang.Object o, long a, boolean b)
-
getCharUnaligned
public char getCharUnaligned(java.lang.Object o, long a)
-
getCharUnaligned
public char getCharUnaligned(java.lang.Object o, long a, boolean b)
-
getShortUnaligned
public short getShortUnaligned(java.lang.Object o, long a, boolean b)
-
getAndAddInt
public int getAndAddInt(java.lang.Object ol, long a, int b)
-
compareAndSetReference
public boolean compareAndSetReference(java.lang.Object o1, long l, java.lang.Object o2, java.lang.Object o3)
-
unalignedAccess
public boolean unalignedAccess()
-
pageSize
public int pageSize()
-
allocateMemory
public long allocateMemory(long aAmount)
-
setMemory
public void setMemory(long a, long b, byte c)
-
getFloat
public float getFloat(long a)
-
putFloat
public void putFloat(long a, float b)
-
getByte
public byte getByte(long a)
-
putByte
public void putByte(long a, byte b)
-
getInt
public int getInt(long a)
-
getInt
public int getInt(java.lang.Object o, long a)
-
putInt
public void putInt(long a, int b)
-
putIntUnaligned
public void putIntUnaligned(java.lang.Object a, long b, int c, boolean d)
-
putShortUnaligned
public void putShortUnaligned(java.lang.Object a, long b, short c, boolean d)
-
getShort
public short getShort(long a)
-
putShort
public void putShort(long a, short b)
-
putChar
public void putChar(long a, char b)
-
getChar
public char getChar(long a)
-
putCharUnaligned
public void putCharUnaligned(java.lang.Object a, long b, char c, boolean d)
-
copyMemory
public void copyMemory(java.lang.Object o, long a, java.lang.Object b, long c, long d)
-
copyMemory
public void copyMemory(long a, long b, long c)
-
copySwapMemory
public void copySwapMemory(java.lang.Object a, long b, java.lang.Object c, long d, long e, long f)
-
getAddress
public long getAddress(long a)
-
getReference
public java.lang.Object getReference(java.lang.Object a, long b)
-
putReference
public void putReference(java.lang.Object a, long b, java.lang.Object c)
-
putReferenceRelease
public void putReferenceRelease(java.lang.Object a, long b, java.lang.Object c)
-
freeMemory
public void freeMemory(long a)
-
reallocateMemory
public long reallocateMemory(long a, long b)
-
-