Package com.google.protobuf
Class UnsafeUtil.Android32MemoryAccessor
- java.lang.Object
-
- com.google.protobuf.UnsafeUtil.MemoryAccessor
-
- com.google.protobuf.UnsafeUtil.Android32MemoryAccessor
-
- Enclosing class:
- UnsafeUtil
private static final class UnsafeUtil.Android32MemoryAccessor extends UnsafeUtil.MemoryAccessor
-
-
Field Summary
Fields Modifier and Type Field Description private static long
SMALL_ADDRESS_MASK
Mask used to convert a 64 bit memory address to a 32 bit address.-
Fields inherited from class com.google.protobuf.UnsafeUtil.MemoryAccessor
unsafe
-
-
Constructor Summary
Constructors Constructor Description Android32MemoryAccessor(sun.misc.Unsafe unsafe)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
copyMemory(byte[] src, long srcIndex, long targetOffset, long length)
void
copyMemory(long srcOffset, byte[] target, long targetIndex, long length)
boolean
getBoolean(java.lang.Object target, long offset)
byte
getByte(long address)
byte
getByte(java.lang.Object target, long offset)
double
getDouble(java.lang.Object target, long offset)
float
getFloat(java.lang.Object target, long offset)
int
getInt(long address)
long
getLong(long address)
java.lang.Object
getStaticObject(java.lang.reflect.Field field)
void
putBoolean(java.lang.Object target, long offset, boolean value)
void
putByte(long address, byte value)
void
putByte(java.lang.Object target, long offset, byte value)
void
putDouble(java.lang.Object target, long offset, double value)
void
putFloat(java.lang.Object target, long offset, float value)
void
putInt(long address, int value)
void
putLong(long address, long value)
private static int
smallAddress(long address)
Truncate along
address into a shortint
address.boolean
supportsUnsafeByteBufferOperations()
-
Methods inherited from class com.google.protobuf.UnsafeUtil.MemoryAccessor
arrayBaseOffset, arrayIndexScale, getInt, getLong, getObject, objectFieldOffset, putInt, putLong, putObject, supportsUnsafeArrayOperations
-
-
-
-
Field Detail
-
SMALL_ADDRESS_MASK
private static final long SMALL_ADDRESS_MASK
Mask used to convert a 64 bit memory address to a 32 bit address.- See Also:
- Constant Field Values
-
-
Method Detail
-
smallAddress
private static int smallAddress(long address)
Truncate along
address into a shortint
address.
-
getStaticObject
public java.lang.Object getStaticObject(java.lang.reflect.Field field)
- Specified by:
getStaticObject
in classUnsafeUtil.MemoryAccessor
-
getByte
public byte getByte(java.lang.Object target, long offset)
- Specified by:
getByte
in classUnsafeUtil.MemoryAccessor
-
putByte
public void putByte(java.lang.Object target, long offset, byte value)
- Specified by:
putByte
in classUnsafeUtil.MemoryAccessor
-
getBoolean
public boolean getBoolean(java.lang.Object target, long offset)
- Specified by:
getBoolean
in classUnsafeUtil.MemoryAccessor
-
putBoolean
public void putBoolean(java.lang.Object target, long offset, boolean value)
- Specified by:
putBoolean
in classUnsafeUtil.MemoryAccessor
-
getFloat
public float getFloat(java.lang.Object target, long offset)
- Specified by:
getFloat
in classUnsafeUtil.MemoryAccessor
-
putFloat
public void putFloat(java.lang.Object target, long offset, float value)
- Specified by:
putFloat
in classUnsafeUtil.MemoryAccessor
-
getDouble
public double getDouble(java.lang.Object target, long offset)
- Specified by:
getDouble
in classUnsafeUtil.MemoryAccessor
-
putDouble
public void putDouble(java.lang.Object target, long offset, double value)
- Specified by:
putDouble
in classUnsafeUtil.MemoryAccessor
-
supportsUnsafeByteBufferOperations
public boolean supportsUnsafeByteBufferOperations()
- Overrides:
supportsUnsafeByteBufferOperations
in classUnsafeUtil.MemoryAccessor
-
getByte
public byte getByte(long address)
- Specified by:
getByte
in classUnsafeUtil.MemoryAccessor
-
putByte
public void putByte(long address, byte value)
- Specified by:
putByte
in classUnsafeUtil.MemoryAccessor
-
getInt
public int getInt(long address)
- Specified by:
getInt
in classUnsafeUtil.MemoryAccessor
-
putInt
public void putInt(long address, int value)
- Specified by:
putInt
in classUnsafeUtil.MemoryAccessor
-
getLong
public long getLong(long address)
- Specified by:
getLong
in classUnsafeUtil.MemoryAccessor
-
putLong
public void putLong(long address, long value)
- Specified by:
putLong
in classUnsafeUtil.MemoryAccessor
-
copyMemory
public void copyMemory(long srcOffset, byte[] target, long targetIndex, long length)
- Specified by:
copyMemory
in classUnsafeUtil.MemoryAccessor
-
copyMemory
public void copyMemory(byte[] src, long srcIndex, long targetOffset, long length)
- Specified by:
copyMemory
in classUnsafeUtil.MemoryAccessor
-
-