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 intARRAY_BOOLEAN_INDEX_SCALEstatic intARRAY_BYTE_INDEX_SCALEstatic intARRAY_CHAR_INDEX_SCALEstatic intARRAY_DOUBLE_INDEX_SCALEstatic intARRAY_FLOAT_INDEX_SCALEstatic intARRAY_INT_INDEX_SCALEstatic intARRAY_LONG_INDEX_SCALEstatic intARRAY_SHORT_INDEX_SCALEprivate static TUnsafeINSTANCE
-
Constructor Summary
Constructors Constructor Description TUnsafe()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description longallocateMemory(long aAmount)intarrayBaseOffset(java.lang.Class clazz)intarrayIndexScale(java.lang.Class clazz)booleancompareAndSetReference(java.lang.Object o1, long l, java.lang.Object o2, java.lang.Object o3)voidcopyMemory(long a, long b, long c)voidcopyMemory(java.lang.Object o, long a, java.lang.Object b, long c, long d)voidcopySwapMemory(java.lang.Object a, long b, java.lang.Object c, long d, long e, long f)voidensureClassInitialized(java.lang.Class<?> c)voidfreeMemory(long a)longgetAddress(long a)intgetAndAddInt(java.lang.Object ol, long a, int b)bytegetByte(long a)chargetChar(long a)chargetCharUnaligned(java.lang.Object o, long a)chargetCharUnaligned(java.lang.Object o, long a, boolean b)floatgetFloat(long a)intgetInt(long a)intgetInt(java.lang.Object o, long a)intgetIntUnaligned(java.lang.Object o, long a)intgetIntUnaligned(java.lang.Object o, long a, boolean b)longgetLongUnaligned(java.lang.Object o, long a)longgetLongUnaligned(java.lang.Object o, long a, boolean b)java.lang.ObjectgetReference(java.lang.Object a, long b)shortgetShort(long a)shortgetShortUnaligned(java.lang.Object o, long a, boolean b)static TUnsafegetUnsafe()booleanisBigEndian()longobjectFieldOffset(java.lang.Class clazz, java.lang.String fieldName)intpageSize()voidputByte(long a, byte b)voidputChar(long a, char b)voidputCharUnaligned(java.lang.Object a, long b, char c, boolean d)voidputFloat(long a, float b)voidputInt(long a, int b)voidputIntUnaligned(java.lang.Object a, long b, int c, boolean d)voidputReference(java.lang.Object a, long b, java.lang.Object c)voidputReferenceRelease(java.lang.Object a, long b, java.lang.Object c)voidputShort(long a, short b)voidputShortUnaligned(java.lang.Object a, long b, short c, boolean d)longreallocateMemory(long a, long b)voidsetMemory(long a, long b, byte c)voidstoreFence()booleanunalignedAccess()
-
-
-
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)
-
-