final class oadd.com.google.protobuf.UnsafeUtil extends java.lang.Object
{
private static final sun.misc.Unsafe UNSAFE;
private static final java.lang.Class MEMORY_CLASS;
private static final boolean IS_ANDROID_64;
private static final boolean IS_ANDROID_32;
private static final oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR;
private static final boolean HAS_UNSAFE_BYTEBUFFER_OPERATIONS;
private static final boolean HAS_UNSAFE_ARRAY_OPERATIONS;
static final long BYTE_ARRAY_BASE_OFFSET;
private static final long BOOLEAN_ARRAY_BASE_OFFSET;
private static final long BOOLEAN_ARRAY_INDEX_SCALE;
private static final long INT_ARRAY_BASE_OFFSET;
private static final long INT_ARRAY_INDEX_SCALE;
private static final long LONG_ARRAY_BASE_OFFSET;
private static final long LONG_ARRAY_INDEX_SCALE;
private static final long FLOAT_ARRAY_BASE_OFFSET;
private static final long FLOAT_ARRAY_INDEX_SCALE;
private static final long DOUBLE_ARRAY_BASE_OFFSET;
private static final long DOUBLE_ARRAY_INDEX_SCALE;
private static final long OBJECT_ARRAY_BASE_OFFSET;
private static final long OBJECT_ARRAY_INDEX_SCALE;
private static final long BUFFER_ADDRESS_OFFSET;
private static final int STRIDE;
private static final int STRIDE_ALIGNMENT_MASK;
private static final int BYTE_ARRAY_ALIGNMENT;
static final boolean IS_BIG_ENDIAN;
private void <init>()
{
oadd.com.google.protobuf.UnsafeUtil v;
v := @this: oadd.com.google.protobuf.UnsafeUtil;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
static boolean hasUnsafeArrayOperations()
{
boolean v;
v = <oadd.com.google.protobuf.UnsafeUtil: boolean HAS_UNSAFE_ARRAY_OPERATIONS>;
return v;
}
static boolean hasUnsafeByteBufferOperations()
{
boolean v;
v = <oadd.com.google.protobuf.UnsafeUtil: boolean HAS_UNSAFE_BYTEBUFFER_OPERATIONS>;
return v;
}
static boolean isAndroid64()
{
boolean v;
v = <oadd.com.google.protobuf.UnsafeUtil: boolean IS_ANDROID_64>;
return v;
}
static java.lang.Object allocateInstance(java.lang.Class)
{
sun.misc.Unsafe v;
java.lang.IllegalStateException v;
java.lang.InstantiationException v;
java.lang.Class v;
java.lang.Object v;
v := @parameter: java.lang.Class;
label:
v = <oadd.com.google.protobuf.UnsafeUtil: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: java.lang.Object allocateInstance(java.lang.Class)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.lang.InstantiationException from label to label with label;
}
static long objectFieldOffset(java.lang.reflect.Field)
{
long v;
java.lang.reflect.Field v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
v := @parameter: java.lang.reflect.Field;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: long objectFieldOffset(java.lang.reflect.Field)>(v);
return v;
}
private static int arrayBaseOffset(java.lang.Class)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
int v, v;
java.lang.Class v;
boolean v;
v := @parameter: java.lang.Class;
v = <oadd.com.google.protobuf.UnsafeUtil: boolean HAS_UNSAFE_ARRAY_OPERATIONS>;
if v == 0 goto label;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: int arrayBaseOffset(java.lang.Class)>(v);
goto label;
label:
v = (int) -1;
v = v;
label:
return v;
}
private static int arrayIndexScale(java.lang.Class)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
int v, v;
java.lang.Class v;
boolean v;
v := @parameter: java.lang.Class;
v = <oadd.com.google.protobuf.UnsafeUtil: boolean HAS_UNSAFE_ARRAY_OPERATIONS>;
if v == 0 goto label;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: int arrayIndexScale(java.lang.Class)>(v);
goto label;
label:
v = (int) -1;
v = v;
label:
return v;
}
static byte getByte(java.lang.Object, long)
{
byte v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: byte getByte(java.lang.Object,long)>(v, v);
return v;
}
static void putByte(java.lang.Object, long, byte)
{
byte v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: byte;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putByte(java.lang.Object,long,byte)>(v, v, v);
return;
}
static int getInt(java.lang.Object, long)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
int v;
java.lang.Object v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: int getInt(java.lang.Object,long)>(v, v);
return v;
}
static void putInt(java.lang.Object, long, int)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
int v;
java.lang.Object v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: int;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putInt(java.lang.Object,long,int)>(v, v, v);
return;
}
static long getLong(java.lang.Object, long)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v;
long v, v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: long getLong(java.lang.Object,long)>(v, v);
return v;
}
static void putLong(java.lang.Object, long, long)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v;
long v, v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putLong(java.lang.Object,long,long)>(v, v, v);
return;
}
static boolean getBoolean(java.lang.Object, long)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v;
long v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: boolean getBoolean(java.lang.Object,long)>(v, v);
return v;
}
static void putBoolean(java.lang.Object, long, boolean)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v;
long v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: boolean;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putBoolean(java.lang.Object,long,boolean)>(v, v, v);
return;
}
static float getFloat(java.lang.Object, long)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
float v;
java.lang.Object v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: float getFloat(java.lang.Object,long)>(v, v);
return v;
}
static void putFloat(java.lang.Object, long, float)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
float v;
java.lang.Object v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: float;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putFloat(java.lang.Object,long,float)>(v, v, v);
return;
}
static double getDouble(java.lang.Object, long)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v;
long v;
double v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: double getDouble(java.lang.Object,long)>(v, v);
return v;
}
static void putDouble(java.lang.Object, long, double)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v;
long v;
double v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: double;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putDouble(java.lang.Object,long,double)>(v, v, v);
return;
}
static java.lang.Object getObject(java.lang.Object, long)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v, v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: java.lang.Object getObject(java.lang.Object,long)>(v, v);
return v;
}
static void putObject(java.lang.Object, long, java.lang.Object)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v, v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: java.lang.Object;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putObject(java.lang.Object,long,java.lang.Object)>(v, v, v);
return;
}
static byte getByte(byte[], long)
{
byte[] v;
byte v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
long v, v, v;
v := @parameter: byte[];
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: byte getByte(java.lang.Object,long)>(v, v);
return v;
}
static void putByte(byte[], long, byte)
{
byte[] v;
byte v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
long v, v, v;
v := @parameter: byte[];
v := @parameter: long;
v := @parameter: byte;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putByte(java.lang.Object,long,byte)>(v, v, v);
return;
}
static int getInt(int[], long)
{
long v, v, v, v, v;
int[] v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
int v;
v := @parameter: int[];
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long INT_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long INT_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: int getInt(java.lang.Object,long)>(v, v);
return v;
}
static void putInt(int[], long, int)
{
long v, v, v, v, v;
int[] v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
int v;
v := @parameter: int[];
v := @parameter: long;
v := @parameter: int;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long INT_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long INT_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putInt(java.lang.Object,long,int)>(v, v, v);
return;
}
static long getLong(long[], long)
{
long v, v, v, v, v, v;
long[] v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
v := @parameter: long[];
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long LONG_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long LONG_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: long getLong(java.lang.Object,long)>(v, v);
return v;
}
static void putLong(long[], long, long)
{
long v, v, v, v, v, v;
long[] v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
v := @parameter: long[];
v := @parameter: long;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long LONG_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long LONG_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putLong(java.lang.Object,long,long)>(v, v, v);
return;
}
static boolean getBoolean(boolean[], long)
{
boolean[] v;
long v, v, v, v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
boolean v;
v := @parameter: boolean[];
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long BOOLEAN_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long BOOLEAN_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: boolean getBoolean(java.lang.Object,long)>(v, v);
return v;
}
static void putBoolean(boolean[], long, boolean)
{
boolean[] v;
long v, v, v, v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
boolean v;
v := @parameter: boolean[];
v := @parameter: long;
v := @parameter: boolean;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long BOOLEAN_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long BOOLEAN_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putBoolean(java.lang.Object,long,boolean)>(v, v, v);
return;
}
static float getFloat(float[], long)
{
float[] v;
long v, v, v, v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
float v;
v := @parameter: float[];
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long FLOAT_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long FLOAT_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: float getFloat(java.lang.Object,long)>(v, v);
return v;
}
static void putFloat(float[], long, float)
{
float[] v;
long v, v, v, v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
float v;
v := @parameter: float[];
v := @parameter: long;
v := @parameter: float;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long FLOAT_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long FLOAT_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putFloat(java.lang.Object,long,float)>(v, v, v);
return;
}
static double getDouble(double[], long)
{
double[] v;
long v, v, v, v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
double v;
v := @parameter: double[];
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long DOUBLE_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long DOUBLE_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: double getDouble(java.lang.Object,long)>(v, v);
return v;
}
static void putDouble(double[], long, double)
{
double[] v;
long v, v, v, v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
double v;
v := @parameter: double[];
v := @parameter: long;
v := @parameter: double;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long DOUBLE_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long DOUBLE_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putDouble(java.lang.Object,long,double)>(v, v, v);
return;
}
static java.lang.Object getObject(java.lang.Object[], long)
{
java.lang.Object[] v;
long v, v, v, v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v;
v := @parameter: java.lang.Object[];
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long OBJECT_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long OBJECT_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: java.lang.Object getObject(java.lang.Object,long)>(v, v);
return v;
}
static void putObject(java.lang.Object[], long, java.lang.Object)
{
java.lang.Object[] v;
long v, v, v, v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Object v;
v := @parameter: java.lang.Object[];
v := @parameter: long;
v := @parameter: java.lang.Object;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long OBJECT_ARRAY_BASE_OFFSET>;
v = <oadd.com.google.protobuf.UnsafeUtil: long OBJECT_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putObject(java.lang.Object,long,java.lang.Object)>(v, v, v);
return;
}
static void copyMemory(byte[], long, long, long)
{
byte[] v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
long v, v, v;
v := @parameter: byte[];
v := @parameter: long;
v := @parameter: long;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void copyMemory(byte[],long,long,long)>(v, v, v, v);
return;
}
static void copyMemory(long, byte[], long, long)
{
byte[] v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
long v, v, v;
v := @parameter: long;
v := @parameter: byte[];
v := @parameter: long;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void copyMemory(long,byte[],long,long)>(v, v, v, v);
return;
}
static void copyMemory(byte[], long, byte[], long, long)
{
byte[] v, v;
long v, v, v;
v := @parameter: byte[];
v := @parameter: long;
v := @parameter: byte[];
v := @parameter: long;
v := @parameter: long;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
return;
}
static byte getByte(long)
{
long v;
byte v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: byte getByte(long)>(v);
return v;
}
static void putByte(long, byte)
{
long v;
byte v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
v := @parameter: long;
v := @parameter: byte;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putByte(long,byte)>(v, v);
return;
}
static int getInt(long)
{
int v;
long v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: int getInt(long)>(v);
return v;
}
static void putInt(long, int)
{
int v;
long v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
v := @parameter: long;
v := @parameter: int;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putInt(long,int)>(v, v);
return;
}
static long getLong(long)
{
long v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: long getLong(long)>(v);
return v;
}
static void putLong(long, long)
{
long v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
v := @parameter: long;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: void putLong(long,long)>(v, v);
return;
}
static long addressOffset(java.nio.ByteBuffer)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
long v, v;
java.nio.ByteBuffer v;
v := @parameter: java.nio.ByteBuffer;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = <oadd.com.google.protobuf.UnsafeUtil: long BUFFER_ADDRESS_OFFSET>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: long getLong(java.lang.Object,long)>(v, v);
return v;
}
static java.lang.Object getStaticObject(java.lang.reflect.Field)
{
java.lang.Object v;
java.lang.reflect.Field v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
v := @parameter: java.lang.reflect.Field;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: java.lang.Object getStaticObject(java.lang.reflect.Field)>(v);
return v;
}
static sun.misc.Unsafe getUnsafe()
{
java.lang.Throwable v;
oadd.com.google.protobuf.UnsafeUtil$1 v;
java.lang.Object v;
label:
v = new oadd.com.google.protobuf.UnsafeUtil$1;
specialinvoke v.<oadd.com.google.protobuf.UnsafeUtil$1: void <init>()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedExceptionAction)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private static oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor getMemoryAccessor()
{
sun.misc.Unsafe v, v, v, v;
oadd.com.google.protobuf.UnsafeUtil$Android32MemoryAccessor v;
oadd.com.google.protobuf.UnsafeUtil$JvmMemoryAccessor v;
oadd.com.google.protobuf.UnsafeUtil$Android64MemoryAccessor v;
boolean v, v, v;
v = <oadd.com.google.protobuf.UnsafeUtil: sun.misc.Unsafe UNSAFE>;
if v != null goto label;
return null;
label:
v = staticinvoke <oadd.com.google.protobuf.Android: boolean isOnAndroidDevice()>();
if v == 0 goto label;
v = <oadd.com.google.protobuf.UnsafeUtil: boolean IS_ANDROID_64>;
if v == 0 goto label;
v = new oadd.com.google.protobuf.UnsafeUtil$Android64MemoryAccessor;
v = <oadd.com.google.protobuf.UnsafeUtil: sun.misc.Unsafe UNSAFE>;
specialinvoke v.<oadd.com.google.protobuf.UnsafeUtil$Android64MemoryAccessor: void <init>(sun.misc.Unsafe)>(v);
return v;
label:
v = <oadd.com.google.protobuf.UnsafeUtil: boolean IS_ANDROID_32>;
if v == 0 goto label;
v = new oadd.com.google.protobuf.UnsafeUtil$Android32MemoryAccessor;
v = <oadd.com.google.protobuf.UnsafeUtil: sun.misc.Unsafe UNSAFE>;
specialinvoke v.<oadd.com.google.protobuf.UnsafeUtil$Android32MemoryAccessor: void <init>(sun.misc.Unsafe)>(v);
return v;
label:
return null;
label:
v = new oadd.com.google.protobuf.UnsafeUtil$JvmMemoryAccessor;
v = <oadd.com.google.protobuf.UnsafeUtil: sun.misc.Unsafe UNSAFE>;
specialinvoke v.<oadd.com.google.protobuf.UnsafeUtil$JvmMemoryAccessor: void <init>(sun.misc.Unsafe)>(v);
return v;
}
private static boolean supportsUnsafeArrayOperations()
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v, v;
boolean v;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
if v != null goto label;
return 0;
label:
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: boolean supportsUnsafeArrayOperations()>();
return v;
}
private static boolean supportsUnsafeByteBufferOperations()
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v, v;
boolean v;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
if v != null goto label;
return 0;
label:
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: boolean supportsUnsafeByteBufferOperations()>();
return v;
}
static boolean determineAndroidSupportByAddressSize(java.lang.Class)
{
java.lang.Throwable v;
boolean v;
java.lang.Class[] v, v, v, v, v, v, v, v;
java.lang.Class v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: java.lang.Class;
v = staticinvoke <oadd.com.google.protobuf.Android: boolean isOnAndroidDevice()>();
if v != 0 goto label;
return 0;
label:
v = <oadd.com.google.protobuf.UnsafeUtil: java.lang.Class MEMORY_CLASS>;
v = newarray (java.lang.Class)[2];
v[0] = v;
v = <java.lang.Boolean: java.lang.Class TYPE>;
v[1] = v;
virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("peekLong", v);
v = newarray (java.lang.Class)[3];
v[0] = v;
v = <java.lang.Long: java.lang.Class TYPE>;
v[1] = v;
v = <java.lang.Boolean: java.lang.Class TYPE>;
v[2] = v;
virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("pokeLong", v);
v = newarray (java.lang.Class)[3];
v[0] = v;
v = <java.lang.Integer: java.lang.Class TYPE>;
v[1] = v;
v = <java.lang.Boolean: java.lang.Class TYPE>;
v[2] = v;
virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("pokeInt", v);
v = newarray (java.lang.Class)[2];
v[0] = v;
v = <java.lang.Boolean: java.lang.Class TYPE>;
v[1] = v;
virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("peekInt", v);
v = newarray (java.lang.Class)[2];
v[0] = v;
v = <java.lang.Byte: java.lang.Class TYPE>;
v[1] = v;
virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("pokeByte", v);
v = newarray (java.lang.Class)[1];
v[0] = v;
virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("peekByte", v);
v = newarray (java.lang.Class)[4];
v[0] = v;
v[1] = class "[B";
v = <java.lang.Integer: java.lang.Class TYPE>;
v[2] = v;
v = <java.lang.Integer: java.lang.Class TYPE>;
v[3] = v;
virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("pokeByteArray", v);
v = newarray (java.lang.Class)[4];
v[0] = v;
v[1] = class "[B";
v = <java.lang.Integer: java.lang.Class TYPE>;
v[2] = v;
v = <java.lang.Integer: java.lang.Class TYPE>;
v[3] = v;
virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("peekByteArray", v);
label:
return 1;
label:
v := @caughtexception;
return 0;
catch java.lang.Throwable from label to label with label;
}
private static java.lang.reflect.Field bufferAddressField()
{
java.lang.Class v, v;
java.lang.reflect.Field v, v, v;
boolean v;
v = staticinvoke <oadd.com.google.protobuf.Android: boolean isOnAndroidDevice()>();
if v == 0 goto label;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: java.lang.reflect.Field field(java.lang.Class,java.lang.String)>(class "Ljava/nio/Buffer;", "effectiveDirectAddress");
if v == null goto label;
return v;
label:
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: java.lang.reflect.Field field(java.lang.Class,java.lang.String)>(class "Ljava/nio/Buffer;", "address");
if v == null goto label;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getType()>();
v = <java.lang.Long: java.lang.Class TYPE>;
if v != v goto label;
v = v;
goto label;
label:
v = null;
label:
return v;
}
private static int firstDifferingByteIndexNativeEndian(long, long)
{
int v, v;
long v, v, v, v;
boolean v;
v := @parameter: long;
v := @parameter: long;
v = <oadd.com.google.protobuf.UnsafeUtil: boolean IS_BIG_ENDIAN>;
if v == 0 goto label;
v = v ^ v;
v = staticinvoke <java.lang.Long: int numberOfLeadingZeros(long)>(v);
goto label;
label:
v = v ^ v;
v = staticinvoke <java.lang.Long: int numberOfTrailingZeros(long)>(v);
label:
v = v >> 3;
return v;
}
static int mismatch(byte[], int, byte[], int, int)
{
byte[] v, v;
java.lang.IndexOutOfBoundsException v;
byte v, v, v, v, v;
boolean v;
long v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
if v < 0 goto label;
if v < 0 goto label;
if v < 0 goto label;
v = v + v;
v = lengthof v;
if v > v goto label;
v = v + v;
v = lengthof v;
if v <= v goto label;
label:
v = new java.lang.IndexOutOfBoundsException;
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>()>();
throw v;
label:
v = 0;
v = <oadd.com.google.protobuf.UnsafeUtil: boolean HAS_UNSAFE_ARRAY_OPERATIONS>;
if v == 0 goto label;
v = <oadd.com.google.protobuf.UnsafeUtil: int BYTE_ARRAY_ALIGNMENT>;
v = v + v;
v = v & 7;
label:
if v >= v goto label;
v = v & 7;
if v == 0 goto label;
v = v + v;
v = v[v];
v = v + v;
v = v[v];
if v == v goto label;
return v;
label:
v = v + 1;
v = v + 1;
goto label;
label:
v = v - v;
v = (int) -8;
v = v & v;
v = v + v;
label:
if v >= v goto label;
v = <oadd.com.google.protobuf.UnsafeUtil: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = v + v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: long getLong(java.lang.Object,long)>(v, v);
v = <oadd.com.google.protobuf.UnsafeUtil: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = v + v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: long getLong(java.lang.Object,long)>(v, v);
v = v cmp v;
if v == 0 goto label;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int firstDifferingByteIndexNativeEndian(long,long)>(v, v);
v = v + v;
return v;
label:
v = v + 8;
goto label;
label:
if v >= v goto label;
v = v + v;
v = v[v];
v = v + v;
v = v[v];
if v == v goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
return v;
}
private static long fieldOffset(java.lang.reflect.Field)
{
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v, v;
long v;
java.lang.reflect.Field v;
v := @parameter: java.lang.reflect.Field;
if v == null goto label;
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
if v != null goto label;
label:
v = -1L;
goto label;
label:
v = <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR>;
v = virtualinvoke v.<oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor: long objectFieldOffset(java.lang.reflect.Field)>(v);
label:
return v;
}
private static java.lang.reflect.Field field(java.lang.Class, java.lang.String)
{
java.lang.Throwable v;
java.lang.Class v;
java.lang.String v;
java.lang.reflect.Field v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getDeclaredField(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = null;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private static byte getByteBigEndian(java.lang.Object, long)
{
long v, v, v, v, v;
int v, v, v;
java.lang.Object v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = v & -4L;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int getInt(java.lang.Object,long)>(v, v);
v = v ^ -1L;
v = v & 3L;
v = v << 3;
v = v >>> v;
v = v & 255;
return v;
}
private static byte getByteLittleEndian(java.lang.Object, long)
{
long v, v, v, v;
int v, v, v;
java.lang.Object v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = v & -4L;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int getInt(java.lang.Object,long)>(v, v);
v = v & 3L;
v = v << 3;
v = v >>> v;
v = v & 255;
return v;
}
private static void putByteBigEndian(java.lang.Object, long, byte)
{
long v, v, v;
short v;
byte v;
int v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: byte;
v = v & -4L;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int getInt(java.lang.Object,long)>(v, v);
v = (int) -1;
v = v ^ v;
v = v & 3;
v = v << 3;
v = 255 << v;
v = (int) -1;
v = v ^ v;
v = v & v;
v = 255 & v;
v = v << v;
v = v | v;
v = v & -4L;
staticinvoke <oadd.com.google.protobuf.UnsafeUtil: void putInt(java.lang.Object,long,int)>(v, v, v);
return;
}
private static void putByteLittleEndian(java.lang.Object, long, byte)
{
long v, v, v;
short v;
byte v;
int v, v, v, v, v, v, v, v, v;
java.lang.Object v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: byte;
v = v & -4L;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int getInt(java.lang.Object,long)>(v, v);
v = v & 3;
v = v << 3;
v = 255 << v;
v = (int) -1;
v = v ^ v;
v = v & v;
v = 255 & v;
v = v << v;
v = v | v;
v = v & -4L;
staticinvoke <oadd.com.google.protobuf.UnsafeUtil: void putInt(java.lang.Object,long,int)>(v, v, v);
return;
}
private static boolean getBooleanBigEndian(java.lang.Object, long)
{
byte v;
java.lang.Object v;
long v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: byte getByteBigEndian(java.lang.Object,long)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean getBooleanLittleEndian(java.lang.Object, long)
{
byte v;
java.lang.Object v;
long v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: byte getByteLittleEndian(java.lang.Object,long)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static void putBooleanBigEndian(java.lang.Object, long, boolean)
{
java.lang.Object v;
long v;
boolean v, v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: boolean;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.protobuf.UnsafeUtil: void putByteBigEndian(java.lang.Object,long,byte)>(v, v, v);
return;
}
private static void putBooleanLittleEndian(java.lang.Object, long, boolean)
{
java.lang.Object v;
long v;
boolean v, v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: boolean;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.com.google.protobuf.UnsafeUtil: void putByteLittleEndian(java.lang.Object,long,byte)>(v, v, v);
return;
}
private static void logMissingMethod(java.lang.Throwable)
{
java.lang.Throwable v;
java.lang.Class v;
java.lang.String v, v;
java.util.logging.Logger v;
java.util.logging.Level v;
v := @parameter: java.lang.Throwable;
v = class "Loadd/com/google/protobuf/UnsafeUtil;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Throwable)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("platform method missing - proto runtime falling back to safer methods: \u0001");
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
return;
}
static void <clinit>()
{
sun.misc.Unsafe v;
long v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v;
java.lang.reflect.Field v;
java.nio.ByteOrder v, v;
oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor v;
java.lang.Class v, v, v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: sun.misc.Unsafe getUnsafe()>();
<oadd.com.google.protobuf.UnsafeUtil: sun.misc.Unsafe UNSAFE> = v;
v = staticinvoke <oadd.com.google.protobuf.Android: java.lang.Class getMemoryClass()>();
<oadd.com.google.protobuf.UnsafeUtil: java.lang.Class MEMORY_CLASS> = v;
v = <java.lang.Long: java.lang.Class TYPE>;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: boolean determineAndroidSupportByAddressSize(java.lang.Class)>(v);
<oadd.com.google.protobuf.UnsafeUtil: boolean IS_ANDROID_64> = v;
v = <java.lang.Integer: java.lang.Class TYPE>;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: boolean determineAndroidSupportByAddressSize(java.lang.Class)>(v);
<oadd.com.google.protobuf.UnsafeUtil: boolean IS_ANDROID_32> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor getMemoryAccessor()>();
<oadd.com.google.protobuf.UnsafeUtil: oadd.com.google.protobuf.UnsafeUtil$MemoryAccessor MEMORY_ACCESSOR> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: boolean supportsUnsafeByteBufferOperations()>();
<oadd.com.google.protobuf.UnsafeUtil: boolean HAS_UNSAFE_BYTEBUFFER_OPERATIONS> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: boolean supportsUnsafeArrayOperations()>();
<oadd.com.google.protobuf.UnsafeUtil: boolean HAS_UNSAFE_ARRAY_OPERATIONS> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayBaseOffset(java.lang.Class)>(class "[B");
<oadd.com.google.protobuf.UnsafeUtil: long BYTE_ARRAY_BASE_OFFSET> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayBaseOffset(java.lang.Class)>(class "[Z");
<oadd.com.google.protobuf.UnsafeUtil: long BOOLEAN_ARRAY_BASE_OFFSET> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayIndexScale(java.lang.Class)>(class "[Z");
<oadd.com.google.protobuf.UnsafeUtil: long BOOLEAN_ARRAY_INDEX_SCALE> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayBaseOffset(java.lang.Class)>(class "[I");
<oadd.com.google.protobuf.UnsafeUtil: long INT_ARRAY_BASE_OFFSET> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayIndexScale(java.lang.Class)>(class "[I");
<oadd.com.google.protobuf.UnsafeUtil: long INT_ARRAY_INDEX_SCALE> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayBaseOffset(java.lang.Class)>(class "[J");
<oadd.com.google.protobuf.UnsafeUtil: long LONG_ARRAY_BASE_OFFSET> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayIndexScale(java.lang.Class)>(class "[J");
<oadd.com.google.protobuf.UnsafeUtil: long LONG_ARRAY_INDEX_SCALE> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayBaseOffset(java.lang.Class)>(class "[F");
<oadd.com.google.protobuf.UnsafeUtil: long FLOAT_ARRAY_BASE_OFFSET> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayIndexScale(java.lang.Class)>(class "[F");
<oadd.com.google.protobuf.UnsafeUtil: long FLOAT_ARRAY_INDEX_SCALE> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayBaseOffset(java.lang.Class)>(class "[D");
<oadd.com.google.protobuf.UnsafeUtil: long DOUBLE_ARRAY_BASE_OFFSET> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayIndexScale(java.lang.Class)>(class "[D");
<oadd.com.google.protobuf.UnsafeUtil: long DOUBLE_ARRAY_INDEX_SCALE> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayBaseOffset(java.lang.Class)>(class "[Ljava/lang/Object;");
<oadd.com.google.protobuf.UnsafeUtil: long OBJECT_ARRAY_BASE_OFFSET> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: int arrayIndexScale(java.lang.Class)>(class "[Ljava/lang/Object;");
<oadd.com.google.protobuf.UnsafeUtil: long OBJECT_ARRAY_INDEX_SCALE> = v;
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: java.lang.reflect.Field bufferAddressField()>();
v = staticinvoke <oadd.com.google.protobuf.UnsafeUtil: long fieldOffset(java.lang.reflect.Field)>(v);
<oadd.com.google.protobuf.UnsafeUtil: long BUFFER_ADDRESS_OFFSET> = v;
v = <oadd.com.google.protobuf.UnsafeUtil: long BYTE_ARRAY_BASE_OFFSET>;
v = v & 7L;
<oadd.com.google.protobuf.UnsafeUtil: int BYTE_ARRAY_ALIGNMENT> = v;
v = staticinvoke <java.nio.ByteOrder: java.nio.ByteOrder nativeOrder()>();
v = <java.nio.ByteOrder: java.nio.ByteOrder BIG_ENDIAN>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
<oadd.com.google.protobuf.UnsafeUtil: boolean IS_BIG_ENDIAN> = v;
return;
}
}