final class io.netty.util.internal.PlatformDependent extends java.lang.Object
{
private static final io.netty.util.internal.logging.InternalLogger logger;
private static final long ADDRESS_FIELD_OFFSET;
private static final long BYTE_ARRAY_BASE_OFFSET;
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 java.lang.reflect.Constructor DIRECT_BUFFER_CONSTRUCTOR;
private static final java.lang.Throwable EXPLICIT_NO_UNSAFE_CAUSE;
private static final java.lang.reflect.Method ALLOCATE_ARRAY_METHOD;
private static final java.lang.reflect.Method ALIGN_SLICE;
private static final int JAVA_VERSION;
private static final boolean IS_ANDROID;
private static final boolean STORE_FENCE_AVAILABLE;
private static final java.lang.Throwable UNSAFE_UNAVAILABILITY_CAUSE;
private static final java.lang.Object INTERNAL_UNSAFE;
private static final boolean RUNNING_IN_NATIVE_IMAGE;
private static final boolean IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE;
static final sun.misc.Unsafe UNSAFE;
static final int HASH_CODE_ASCII_SEED;
static final int HASH_CODE_C1;
static final int HASH_CODE_C2;
private static final long UNSAFE_COPY_THRESHOLD;
private static final boolean UNALIGNED;
static final boolean $assertionsDisabled;
private static boolean unsafeStaticFieldOffsetSupported()
{
boolean v, v;
v = <io.netty.util.internal.PlatformDependent0: boolean RUNNING_IN_NATIVE_IMAGE>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static boolean isExplicitNoUnsafe()
{
java.lang.Throwable v;
boolean v;
v = <io.netty.util.internal.PlatformDependent0: java.lang.Throwable EXPLICIT_NO_UNSAFE_CAUSE>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static java.lang.Throwable explicitNoUnsafeCause0()
{
java.lang.UnsupportedOperationException v, v;
io.netty.util.internal.logging.InternalLogger v, v, v;
java.lang.Boolean v;
java.lang.String v, v;
boolean v, v, v;
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: boolean getBoolean(java.lang.String,boolean)>("io.netty.noUnsafe", 0);
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("-Dio.netty.noUnsafe: {}", v);
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String)>("sun.misc.Unsafe: unavailable (io.netty.noUnsafe)");
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("sun.misc.Unsafe: unavailable (io.netty.noUnsafe)");
return v;
label:
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: boolean contains(java.lang.String)>("io.netty.tryUnsafe");
if v == 0 goto label;
v = "io.netty.tryUnsafe";
goto label;
label:
v = "org.jboss.netty.tryUnsafe";
label:
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: boolean getBoolean(java.lang.String,boolean)>(v, 1);
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("sun.misc.Unsafe: unavailable (\u)");
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String)>(v);
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>(v);
return v;
label:
return null;
}
static boolean isUnaligned()
{
boolean v;
v = <io.netty.util.internal.PlatformDependent0: boolean UNALIGNED>;
return v;
}
static boolean hasUnsafe()
{
sun.misc.Unsafe v;
boolean v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static java.lang.Throwable getUnsafeUnavailabilityCause()
{
java.lang.Throwable v;
v = <io.netty.util.internal.PlatformDependent0: java.lang.Throwable UNSAFE_UNAVAILABILITY_CAUSE>;
return v;
}
static boolean unalignedAccess()
{
boolean v;
v = <io.netty.util.internal.PlatformDependent0: boolean UNALIGNED>;
return v;
}
static void throwException(java.lang.Throwable)
{
java.lang.Throwable v;
sun.misc.Unsafe v;
java.lang.Object v;
v := @parameter: java.lang.Throwable;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "cause");
virtualinvoke v.<sun.misc.Unsafe: void throwException(java.lang.Throwable)>(v);
return;
}
static boolean hasDirectBufferNoCleanerConstructor()
{
java.lang.reflect.Constructor v;
boolean v;
v = <io.netty.util.internal.PlatformDependent0: java.lang.reflect.Constructor DIRECT_BUFFER_CONSTRUCTOR>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static java.nio.ByteBuffer reallocateDirectNoCleaner(java.nio.ByteBuffer, int)
{
sun.misc.Unsafe v;
int v;
long v, v;
java.nio.ByteBuffer v, v;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: int;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: long directBufferAddress(java.nio.ByteBuffer)>(v);
v = virtualinvoke v.<sun.misc.Unsafe: long reallocateMemory(long,long)>(v, v);
v = staticinvoke <io.netty.util.internal.PlatformDependent0: java.nio.ByteBuffer newDirectBuffer(long,int)>(v, v);
return v;
}
static java.nio.ByteBuffer allocateDirectNoCleaner(int)
{
sun.misc.Unsafe v;
int v, v;
long v;
java.nio.ByteBuffer v;
v := @parameter: int;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = staticinvoke <java.lang.Math: int max(int,int)>(1, v);
v = virtualinvoke v.<sun.misc.Unsafe: long allocateMemory(long)>(v);
v = staticinvoke <io.netty.util.internal.PlatformDependent0: java.nio.ByteBuffer newDirectBuffer(long,int)>(v, v);
return v;
}
static boolean hasAlignSliceMethod()
{
java.lang.reflect.Method v;
boolean v;
v = <io.netty.util.internal.PlatformDependent0: java.lang.reflect.Method ALIGN_SLICE>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static java.nio.ByteBuffer alignSlice(java.nio.ByteBuffer, int)
{
java.lang.IllegalAccessException v;
java.lang.Object[] v;
java.lang.Error v, v;
java.lang.Integer v;
java.nio.ByteBuffer v;
java.lang.reflect.InvocationTargetException v;
int v;
java.lang.Object v;
java.lang.reflect.Method v;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: int;
label:
v = <io.netty.util.internal.PlatformDependent0: java.lang.reflect.Method ALIGN_SLICE>;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.lang.IllegalAccessException from label to label with label;
catch java.lang.reflect.InvocationTargetException from label to label with label;
}
static boolean hasAllocateArrayMethod()
{
java.lang.reflect.Method v;
boolean v;
v = <io.netty.util.internal.PlatformDependent0: java.lang.reflect.Method ALLOCATE_ARRAY_METHOD>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static byte[] allocateUninitializedArray(int)
{
java.lang.IllegalAccessException v;
java.lang.Object[] v;
java.lang.Error v, v;
java.lang.Integer v;
java.lang.reflect.InvocationTargetException v;
int v;
java.lang.Class v;
java.lang.Object v, v;
java.lang.reflect.Method v;
v := @parameter: int;
label:
v = <io.netty.util.internal.PlatformDependent0: java.lang.reflect.Method ALLOCATE_ARRAY_METHOD>;
v = <io.netty.util.internal.PlatformDependent0: java.lang.Object INTERNAL_UNSAFE>;
v = newarray (java.lang.Object)[2];
v = <java.lang.Byte: java.lang.Class TYPE>;
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.lang.IllegalAccessException from label to label with label;
catch java.lang.reflect.InvocationTargetException from label to label with label;
}
static java.nio.ByteBuffer newDirectBuffer(long, int)
{
java.lang.Throwable v;
java.lang.Object[] v;
java.lang.Error v;
long v;
java.lang.Integer v;
java.lang.reflect.Constructor v;
java.lang.Long v;
int v;
java.lang.Object v;
boolean v;
v := @parameter: long;
v := @parameter: int;
staticinvoke <io.netty.util.internal.ObjectUtil: int checkPositiveOrZero(int,java.lang.String)>(v, "capacity");
label:
v = <io.netty.util.internal.PlatformDependent0: java.lang.reflect.Constructor DIRECT_BUFFER_CONSTRUCTOR>;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
label:
return v;
label:
v := @caughtexception;
v = v instanceof java.lang.Error;
if v == 0 goto label;
throw v;
label:
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
static long directBufferAddress(java.nio.ByteBuffer)
{
long v, v;
java.nio.ByteBuffer v;
v := @parameter: java.nio.ByteBuffer;
v = <io.netty.util.internal.PlatformDependent0: long ADDRESS_FIELD_OFFSET>;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: long getLong(java.lang.Object,long)>(v, v);
return v;
}
static long byteArrayBaseOffset()
{
long v;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
return v;
}
static java.lang.Object getObject(java.lang.Object, long)
{
sun.misc.Unsafe v;
java.lang.Object v, v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: java.lang.Object getObject(java.lang.Object,long)>(v, v);
return v;
}
static int getInt(java.lang.Object, long)
{
sun.misc.Unsafe v;
int v;
java.lang.Object v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int getInt(java.lang.Object,long)>(v, v);
return v;
}
static void safeConstructPutInt(java.lang.Object, long, int)
{
sun.misc.Unsafe v, v, v;
int v;
java.lang.Object v;
long v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: int;
v = <io.netty.util.internal.PlatformDependent0: boolean STORE_FENCE_AVAILABLE>;
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void putInt(java.lang.Object,long,int)>(v, v, v);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void storeFence()>();
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void putIntVolatile(java.lang.Object,long,int)>(v, v, v);
label:
return;
}
private static long getLong(java.lang.Object, long)
{
sun.misc.Unsafe v;
java.lang.Object v;
long v, v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: long getLong(java.lang.Object,long)>(v, v);
return v;
}
static long objectFieldOffset(java.lang.reflect.Field)
{
sun.misc.Unsafe v;
long v;
java.lang.reflect.Field v;
v := @parameter: java.lang.reflect.Field;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: long objectFieldOffset(java.lang.reflect.Field)>(v);
return v;
}
static byte getByte(long)
{
sun.misc.Unsafe v;
long v;
byte v;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: byte getByte(long)>(v);
return v;
}
static short getShort(long)
{
sun.misc.Unsafe v;
long v;
short v;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: short getShort(long)>(v);
return v;
}
static int getInt(long)
{
int v;
sun.misc.Unsafe v;
long v;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int getInt(long)>(v);
return v;
}
static long getLong(long)
{
sun.misc.Unsafe v;
long v, v;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: long getLong(long)>(v);
return v;
}
static byte getByte(byte[], int)
{
sun.misc.Unsafe v;
byte[] v;
byte v;
int v;
long v, v;
v := @parameter: byte[];
v := @parameter: int;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: byte getByte(java.lang.Object,long)>(v, v);
return v;
}
static byte getByte(byte[], long)
{
sun.misc.Unsafe v;
byte[] v;
byte v;
long v, v, v;
v := @parameter: byte[];
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: byte getByte(java.lang.Object,long)>(v, v);
return v;
}
static short getShort(byte[], int)
{
sun.misc.Unsafe v;
byte[] v;
short v;
int v;
long v, v;
v := @parameter: byte[];
v := @parameter: int;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: short getShort(java.lang.Object,long)>(v, v);
return v;
}
static int getInt(byte[], int)
{
sun.misc.Unsafe v;
byte[] v;
int v, v;
long v, v;
v := @parameter: byte[];
v := @parameter: int;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: int getInt(java.lang.Object,long)>(v, v);
return v;
}
static int getInt(int[], long)
{
sun.misc.Unsafe v;
long v, v, v, v, v;
int[] v;
int v;
v := @parameter: int[];
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long INT_ARRAY_BASE_OFFSET>;
v = <io.netty.util.internal.PlatformDependent0: long INT_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: int getInt(java.lang.Object,long)>(v, v);
return v;
}
static int getIntVolatile(long)
{
int v;
sun.misc.Unsafe v;
long v;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int getIntVolatile(java.lang.Object,long)>(null, v);
return v;
}
static void putIntOrdered(long, int)
{
int v;
sun.misc.Unsafe v;
long v;
v := @parameter: long;
v := @parameter: int;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void putOrderedInt(java.lang.Object,long,int)>(null, v, v);
return;
}
static long getLong(byte[], int)
{
sun.misc.Unsafe v;
byte[] v;
int v;
long v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: long getLong(java.lang.Object,long)>(v, v);
return v;
}
static long getLong(long[], long)
{
sun.misc.Unsafe v;
long v, v, v, v, v, v;
long[] v;
v := @parameter: long[];
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long LONG_ARRAY_BASE_OFFSET>;
v = <io.netty.util.internal.PlatformDependent0: long LONG_ARRAY_INDEX_SCALE>;
v = v * v;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: long getLong(java.lang.Object,long)>(v, v);
return v;
}
static void putByte(long, byte)
{
sun.misc.Unsafe v;
long v;
byte v;
v := @parameter: long;
v := @parameter: byte;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void putByte(long,byte)>(v, v);
return;
}
static void putShort(long, short)
{
sun.misc.Unsafe v;
long v;
short v;
v := @parameter: long;
v := @parameter: short;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void putShort(long,short)>(v, v);
return;
}
static void putInt(long, int)
{
int v;
sun.misc.Unsafe v;
long v;
v := @parameter: long;
v := @parameter: int;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void putInt(long,int)>(v, v);
return;
}
static void putLong(long, long)
{
sun.misc.Unsafe v;
long v, v;
v := @parameter: long;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void putLong(long,long)>(v, v);
return;
}
static void putByte(byte[], int, byte)
{
sun.misc.Unsafe v;
byte[] v;
byte v;
int v;
long v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: byte;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
virtualinvoke v.<sun.misc.Unsafe: void putByte(java.lang.Object,long,byte)>(v, v, v);
return;
}
static void putByte(java.lang.Object, long, byte)
{
sun.misc.Unsafe v;
byte v;
java.lang.Object v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: byte;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void putByte(java.lang.Object,long,byte)>(v, v, v);
return;
}
static void putShort(byte[], int, short)
{
sun.misc.Unsafe v;
byte[] v;
short v;
int v;
long v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: short;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
virtualinvoke v.<sun.misc.Unsafe: void putShort(java.lang.Object,long,short)>(v, v, v);
return;
}
static void putInt(byte[], int, int)
{
sun.misc.Unsafe v;
byte[] v;
int v, v;
long v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
virtualinvoke v.<sun.misc.Unsafe: void putInt(java.lang.Object,long,int)>(v, v, v);
return;
}
static void putLong(byte[], int, long)
{
sun.misc.Unsafe v;
byte[] v;
int v;
long v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
virtualinvoke v.<sun.misc.Unsafe: void putLong(java.lang.Object,long,long)>(v, v, v);
return;
}
static void putObject(java.lang.Object, long, java.lang.Object)
{
sun.misc.Unsafe v;
java.lang.Object v, v;
long v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: java.lang.Object;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void putObject(java.lang.Object,long,java.lang.Object)>(v, v, v);
return;
}
static void copyMemory(long, long, long)
{
sun.misc.Unsafe v;
int v;
long v, v, v;
v := @parameter: long;
v := @parameter: long;
v := @parameter: long;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int javaVersion()>();
if v > 8 goto label;
staticinvoke <io.netty.util.internal.PlatformDependent0: void copyMemoryWithSafePointPolling(long,long,long)>(v, v, v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void copyMemory(long,long,long)>(v, v, v);
label:
return;
}
private static void copyMemoryWithSafePointPolling(long, long, long)
{
sun.misc.Unsafe v;
byte v;
long v, v, v, v;
v := @parameter: long;
v := @parameter: long;
v := @parameter: long;
label:
v = v cmp 0L;
if v <= 0 goto label;
v = staticinvoke <java.lang.Math: long min(long,long)>(v, 1048576L);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void copyMemory(long,long,long)>(v, v, v);
v = v - v;
v = v + v;
v = v + v;
goto label;
label:
return;
}
static void copyMemory(java.lang.Object, long, java.lang.Object, long, long)
{
sun.misc.Unsafe v;
int v;
java.lang.Object v, v;
long v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: long;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int javaVersion()>();
if v > 8 goto label;
staticinvoke <io.netty.util.internal.PlatformDependent0: void copyMemoryWithSafePointPolling(java.lang.Object,long,java.lang.Object,long,long)>(v, v, v, v, v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void copyMemory(java.lang.Object,long,java.lang.Object,long,long)>(v, v, v, v, v);
label:
return;
}
private static void copyMemoryWithSafePointPolling(java.lang.Object, long, java.lang.Object, long, long)
{
sun.misc.Unsafe v;
long v, v, v, v;
byte v;
java.lang.Object v, v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: long;
label:
v = v cmp 0L;
if v <= 0 goto label;
v = staticinvoke <java.lang.Math: long min(long,long)>(v, 1048576L);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void copyMemory(java.lang.Object,long,java.lang.Object,long,long)>(v, v, v, v, v);
v = v - v;
v = v + v;
v = v + v;
goto label;
label:
return;
}
static void setMemory(long, long, byte)
{
sun.misc.Unsafe v;
byte v;
long v, v;
v := @parameter: long;
v := @parameter: long;
v := @parameter: byte;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void setMemory(long,long,byte)>(v, v, v);
return;
}
static void setMemory(java.lang.Object, long, long, byte)
{
sun.misc.Unsafe v;
byte v;
java.lang.Object v;
long v, v;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: long;
v := @parameter: byte;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void setMemory(java.lang.Object,long,long,byte)>(v, v, v, v);
return;
}
static boolean equals(byte[], int, byte[], int, int)
{
byte[] v, v;
byte v, v, v, v, v, v;
boolean v, v;
sun.misc.Unsafe v, v, v, v, v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v;
char v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v & 7;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = v - v;
if v < 8 goto label;
v = v + v;
v = v - 8L;
v = v + v;
label:
v = v cmp v;
if v < 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: long getLong(java.lang.Object,long)>(v, v);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: long getLong(java.lang.Object,long)>(v, v);
v = v cmp v;
if v == 0 goto label;
return 0;
label:
v = v - 8L;
goto label;
label:
if v < 4 goto label;
v = v - 4;
v = v + v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int getInt(java.lang.Object,long)>(v, v);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: int getInt(java.lang.Object,long)>(v, v);
if v == v goto label;
return 0;
label:
v = v + v;
if v < 2 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: char getChar(java.lang.Object,long)>(v, v);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: char getChar(java.lang.Object,long)>(v, v);
if v != v goto label;
if v == 2 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = v + 2L;
v = virtualinvoke v.<sun.misc.Unsafe: byte getByte(java.lang.Object,long)>(v, v);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = v + 2L;
v = virtualinvoke v.<sun.misc.Unsafe: byte getByte(java.lang.Object,long)>(v, v);
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: byte getByte(java.lang.Object,long)>(v, v);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: byte getByte(java.lang.Object,long)>(v, v);
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static int equalsConstantTime(byte[], int, byte[], int, int)
{
byte[] v, v;
byte v, v, v, v, v, v, v;
sun.misc.Unsafe v, v, v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v;
char v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = 0L;
v = v & 7;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = v + v;
v = v - v;
v = v - 8L;
v = v + v;
label:
v = v cmp v;
if v < 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: long getLong(java.lang.Object,long)>(v, v);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: long getLong(java.lang.Object,long)>(v, v);
v = v ^ v;
v = v | v;
v = v - 8L;
goto label;
label:
v = v cmp 4L;
if v < 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int getInt(java.lang.Object,long)>(v, v);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: int getInt(java.lang.Object,long)>(v, v);
v = v ^ v;
v = v | v;
v = v - 4L;
label:
v = v cmp 2L;
if v < 0 goto label;
v = v - v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: char getChar(java.lang.Object,long)>(v, v);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: char getChar(java.lang.Object,long)>(v, v);
v = v ^ v;
v = v | v;
v = v - 2L;
label:
v = v cmp 1L;
if v != 0 goto label;
v = v - 1L;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: byte getByte(java.lang.Object,long)>(v, v);
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: byte getByte(java.lang.Object,long)>(v, v);
v = v ^ v;
v = v | v;
label:
v = staticinvoke <io.netty.util.internal.ConstantTimeUtils: int equalsConstantTime(long,long)>(v, 0L);
return v;
}
static boolean isZero(byte[], int, int)
{
sun.misc.Unsafe v, v, v;
byte[] v;
long v, v, v, v, v, v, v;
byte v, v, v, v;
int v, v, v, v, v;
boolean v, v;
char v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
if v > 0 goto label;
return 1;
label:
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = v & 7;
v = v + v;
v = v - 8L;
v = v + v;
label:
v = v cmp v;
if v < 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: long getLong(java.lang.Object,long)>(v, v);
v = v cmp 0L;
if v == 0 goto label;
return 0;
label:
v = v - 8L;
goto label;
label:
if v < 4 goto label;
v = v - 4;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = v + v;
v = virtualinvoke v.<sun.misc.Unsafe: int getInt(java.lang.Object,long)>(v, v);
if v == 0 goto label;
return 0;
label:
if v < 2 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: char getChar(java.lang.Object,long)>(v, v);
if v != 0 goto label;
if v == 2 goto label;
v = v + 2;
v = v[v];
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v[v];
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static int hashCodeAscii(byte[], int, int)
{
byte[] v;
byte v, v;
boolean v, v, v, v, v, v, v, v, v, v;
sun.misc.Unsafe v, v, v, v;
long v, v, v, v, v, v;
short v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = -1028477387;
v = <io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET>;
v = v + v;
v = v & 7;
v = v + v;
v = v - 8L;
v = v + v;
label:
v = v cmp v;
if v < 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: long getLong(java.lang.Object,long)>(v, v);
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int hashCodeAsciiCompute(long,int)>(v, v);
v = v - 8L;
goto label;
label:
if v != 0 goto label;
return v;
label:
v = -862048943;
if v == 2 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 4 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v & v;
if v == 6 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v & v;
if v == 0 goto label;
v = v * -862048943;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: byte getByte(java.lang.Object,long)>(v, v);
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int hashCodeAsciiSanitize(byte)>(v);
v = v + v;
v = 461845907;
v = v + 1L;
label:
if v == 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 4 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v & v;
if v == 5 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v & v;
if v == 0 goto label;
v = v * v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: short getShort(java.lang.Object,long)>(v, v);
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int hashCodeAsciiSanitize(short)>(v);
v = v + v;
if v != -862048943 goto label;
v = 461845907;
goto label;
label:
v = -862048943;
label:
v = v;
v = v + 2L;
label:
if v < 4 goto label;
v = v * v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int getInt(java.lang.Object,long)>(v, v);
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int hashCodeAsciiSanitize(int)>(v);
v = v + v;
return v;
label:
return v;
}
static int hashCodeAsciiCompute(long, int)
{
long v, v, v;
int v, v, v, v, v, v;
v := @parameter: long;
v := @parameter: int;
v = v * -862048943;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int hashCodeAsciiSanitize(int)>(v);
v = v * 461845907;
v = v + v;
v = v & 2242545357458243584L;
v = v >>> 32;
v = v + v;
return v;
}
static int hashCodeAsciiSanitize(int)
{
int v, v;
v := @parameter: int;
v = v & 522133279;
return v;
}
static int hashCodeAsciiSanitize(short)
{
short v, v;
v := @parameter: short;
v = v & 7967;
return v;
}
static int hashCodeAsciiSanitize(byte)
{
byte v, v;
v := @parameter: byte;
v = v & 31;
return v;
}
static java.lang.ClassLoader getClassLoader(java.lang.Class)
{
java.lang.Class v;
java.lang.Object v;
io.netty.util.internal.PlatformDependent0$10 v;
java.lang.ClassLoader v;
java.lang.SecurityManager v;
v := @parameter: java.lang.Class;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v != null goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
return v;
label:
v = new io.netty.util.internal.PlatformDependent0$10;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$10: void <init>(java.lang.Class)>(v);
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
return v;
}
static java.lang.ClassLoader getContextClassLoader()
{
java.lang.Thread v;
io.netty.util.internal.PlatformDependent0$11 v;
java.lang.Object v;
java.lang.ClassLoader v;
java.lang.SecurityManager v;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v != null goto label;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
return v;
label:
v = new io.netty.util.internal.PlatformDependent0$11;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$11: void <init>()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
return v;
}
static java.lang.ClassLoader getSystemClassLoader()
{
io.netty.util.internal.PlatformDependent0$12 v;
java.lang.Object v;
java.lang.ClassLoader v;
java.lang.SecurityManager v;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v != null goto label;
v = staticinvoke <java.lang.ClassLoader: java.lang.ClassLoader getSystemClassLoader()>();
return v;
label:
v = new io.netty.util.internal.PlatformDependent0$12;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$12: void <init>()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
return v;
}
static int addressSize()
{
int v;
sun.misc.Unsafe v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int addressSize()>();
return v;
}
static long allocateMemory(long)
{
sun.misc.Unsafe v;
long v, v;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: long allocateMemory(long)>(v);
return v;
}
static void freeMemory(long)
{
sun.misc.Unsafe v;
long v;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void freeMemory(long)>(v);
return;
}
static long reallocateMemory(long, long)
{
sun.misc.Unsafe v;
long v, v, v;
v := @parameter: long;
v := @parameter: long;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: long reallocateMemory(long,long)>(v, v);
return v;
}
static boolean isAndroid()
{
boolean v;
v = <io.netty.util.internal.PlatformDependent0: boolean IS_ANDROID>;
return v;
}
private static boolean isAndroid0()
{
io.netty.util.internal.logging.InternalLogger v;
java.lang.String v, v;
boolean v;
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: java.lang.String get(java.lang.String)>("java.vm.name");
v = "Dalvik";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String)>("Platform: Android");
label:
return v;
}
private static boolean explicitTryReflectionSetAccessible0()
{
int v;
boolean v, v, v;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int javaVersion()>();
if v < 9 goto label;
v = <io.netty.util.internal.PlatformDependent0: boolean RUNNING_IN_NATIVE_IMAGE>;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: boolean getBoolean(java.lang.String,boolean)>("io.netty.tryReflectionSetAccessible", v);
return v;
}
static boolean isExplicitTryReflectionSetAccessible()
{
boolean v;
v = <io.netty.util.internal.PlatformDependent0: boolean IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE>;
return v;
}
static int javaVersion()
{
int v;
v = <io.netty.util.internal.PlatformDependent0: int JAVA_VERSION>;
return v;
}
private static int javaVersion0()
{
io.netty.util.internal.logging.InternalLogger v;
int v;
java.lang.Integer v;
boolean v;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: boolean isAndroid0()>();
if v == 0 goto label;
v = 6;
goto label;
label:
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int majorVersionFromJavaSpecificationVersion()>();
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("Java version: {}", v);
return v;
}
static int majorVersionFromJavaSpecificationVersion()
{
int v;
java.lang.String v;
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: java.lang.String get(java.lang.String,java.lang.String)>("java.specification.version", "1.6");
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int majorVersion(java.lang.String)>(v);
return v;
}
static int majorVersion(java.lang.String)
{
java.lang.String[] v;
java.lang.AssertionError v;
int[] v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\\.");
v = lengthof v;
v = newarray (int)[v];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
v = v[0];
if v != 1 goto label;
v = <io.netty.util.internal.PlatformDependent0: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v[1];
if v >= 6 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v[1];
return v;
label:
v = v[0];
return v;
}
private void <init>()
{
io.netty.util.internal.PlatformDependent v;
v := @this: io.netty.util.internal.PlatformDependent;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
static void <clinit>()
{
java.lang.Integer v, v;
byte v, v, v;
java.lang.Long v, v;
io.netty.util.internal.PlatformDependent0$3 v;
io.netty.util.internal.PlatformDependent0$4 v;
io.netty.util.internal.PlatformDependent0$5 v;
io.netty.util.internal.PlatformDependent0$6 v;
io.netty.util.internal.PlatformDependent0$1 v;
io.netty.util.internal.PlatformDependent0$2 v;
io.netty.util.internal.PlatformDependent0$7 v;
io.netty.util.internal.PlatformDependent0$8 v;
io.netty.util.internal.PlatformDependent0$9 v;
io.netty.util.internal.logging.InternalLogger v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object[] v, v;
long v, v;
java.lang.reflect.Constructor v;
java.lang.InstantiationException v;
java.lang.reflect.Method v;
int v, v, v, v, v, v, v, v, v, v;
java.lang.Boolean v, v, v;
java.lang.Class v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v;
java.lang.reflect.InvocationTargetException v, v;
java.lang.Throwable v, v, v;
sun.misc.Unsafe v, v, v, v, v, v, v, v;
java.lang.AssertionError v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.lang.UnsupportedOperationException v;
java.nio.ByteBuffer v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.IllegalAccessException v, v;
v = class "Lio/netty/util/internal/PlatformDependent;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.netty.util.internal.PlatformDependent0: boolean $assertionsDisabled> = v;
v = staticinvoke <io.netty.util.internal.logging.InternalLoggerFactory: io.netty.util.internal.logging.InternalLogger getInstance(java.lang.Class)>(class "Lio/netty/util/internal/PlatformDependent;");
<io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger> = v;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: java.lang.Throwable explicitNoUnsafeCause0()>();
<io.netty.util.internal.PlatformDependent0: java.lang.Throwable EXPLICIT_NO_UNSAFE_CAUSE> = v;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int javaVersion0()>();
<io.netty.util.internal.PlatformDependent0: int JAVA_VERSION> = v;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: boolean isAndroid0()>();
<io.netty.util.internal.PlatformDependent0: boolean IS_ANDROID> = v;
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: boolean contains(java.lang.String)>("org.graalvm.nativeimage.imagecode");
<io.netty.util.internal.PlatformDependent0: boolean RUNNING_IN_NATIVE_IMAGE> = v;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: boolean explicitTryReflectionSetAccessible0()>();
<io.netty.util.internal.PlatformDependent0: boolean IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE> = v;
v = null;
v = null;
v = 0;
v = <io.netty.util.internal.PlatformDependent0: java.lang.Throwable EXPLICIT_NO_UNSAFE_CAUSE>;
if v == null goto label;
v = null;
v = null;
goto label;
label:
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocateDirect(int)>(1);
v = new io.netty.util.internal.PlatformDependent0$1;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$1: void <init>()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
v = v instanceof java.lang.Throwable;
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Throwable)>("sun.misc.Unsafe.theUnsafe: unavailable", v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("sun.misc.Unsafe.theUnsafe: unavailable: {}", v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String)>("sun.misc.Unsafe.theUnsafe: available");
label:
if v == null goto label;
v = new io.netty.util.internal.PlatformDependent0$2;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$2: void <init>(sun.misc.Unsafe)>(v);
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
if v != null goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String)>("sun.misc.Unsafe.copyMemory: available");
goto label;
label:
v = null;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Throwable)>("sun.misc.Unsafe.copyMemory: unavailable", v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("sun.misc.Unsafe.copyMemory: unavailable: {}", v);
label:
if v == null goto label;
v = new io.netty.util.internal.PlatformDependent0$3;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$3: void <init>(sun.misc.Unsafe)>(v);
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
if v != null goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String)>("sun.misc.Unsafe.storeFence: available");
v = 1;
goto label;
label:
v = 0;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Throwable)>("sun.misc.Unsafe.storeFence: unavailable", v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("sun.misc.Unsafe.storeFence: unavailable: {}", v);
label:
if v == null goto label;
v = new io.netty.util.internal.PlatformDependent0$4;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$4: void <init>(sun.misc.Unsafe,java.nio.ByteBuffer)>(v, v);
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
v = v instanceof java.lang.reflect.Field;
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String)>("java.nio.Buffer.address: available");
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Throwable)>("java.nio.Buffer.address: unavailable", v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("java.nio.Buffer.address: unavailable: {}", v);
label:
v = null;
label:
if v == null goto label;
v = virtualinvoke v.<sun.misc.Unsafe: int arrayIndexScale(java.lang.Class)>(class "[B");
v = v cmp 1L;
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("unsafe.arrayIndexScale is {} (expected: 1). Not using unsafe.", v);
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("Unexpected unsafe.arrayIndexScale");
v = null;
label:
<io.netty.util.internal.PlatformDependent0: java.lang.Throwable UNSAFE_UNAVAILABILITY_CAUSE> = v;
<io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE> = v;
if v != null goto label;
<io.netty.util.internal.PlatformDependent0: long ADDRESS_FIELD_OFFSET> = -1L;
<io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET> = -1L;
<io.netty.util.internal.PlatformDependent0: long LONG_ARRAY_BASE_OFFSET> = -1L;
<io.netty.util.internal.PlatformDependent0: long LONG_ARRAY_INDEX_SCALE> = -1L;
<io.netty.util.internal.PlatformDependent0: long INT_ARRAY_BASE_OFFSET> = -1L;
<io.netty.util.internal.PlatformDependent0: long INT_ARRAY_INDEX_SCALE> = -1L;
<io.netty.util.internal.PlatformDependent0: boolean UNALIGNED> = 0;
<io.netty.util.internal.PlatformDependent0: java.lang.reflect.Constructor DIRECT_BUFFER_CONSTRUCTOR> = null;
<io.netty.util.internal.PlatformDependent0: java.lang.reflect.Method ALLOCATE_ARRAY_METHOD> = null;
<io.netty.util.internal.PlatformDependent0: boolean STORE_FENCE_AVAILABLE> = 0;
goto label;
label:
v = -1L;
label:
v = new io.netty.util.internal.PlatformDependent0$5;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$5: void <init>(java.nio.ByteBuffer)>(v);
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
v = v instanceof java.lang.reflect.Constructor;
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: long allocateMemory(long)>(1L);
label:
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1);
v[1] = v;
virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String)>("direct buffer constructor: available");
label:
goto label;
label:
v := @caughtexception;
v = null;
goto label;
label:
v := @caughtexception;
v = null;
goto label;
label:
v := @caughtexception;
v = null;
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Throwable)>("direct buffer constructor: unavailable", v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("direct buffer constructor: unavailable: {}", v);
label:
v = null;
label:
v = v cmp -1L;
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void freeMemory(long)>(v);
goto label;
label:
v := @caughtexception;
v = v cmp -1L;
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
virtualinvoke v.<sun.misc.Unsafe: void freeMemory(long)>(v);
label:
throw v;
label:
<io.netty.util.internal.PlatformDependent0: java.lang.reflect.Constructor DIRECT_BUFFER_CONSTRUCTOR> = v;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: long objectFieldOffset(java.lang.reflect.Field)>(v);
<io.netty.util.internal.PlatformDependent0: long ADDRESS_FIELD_OFFSET> = v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int arrayBaseOffset(java.lang.Class)>(class "[B");
<io.netty.util.internal.PlatformDependent0: long BYTE_ARRAY_BASE_OFFSET> = v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int arrayBaseOffset(java.lang.Class)>(class "[I");
<io.netty.util.internal.PlatformDependent0: long INT_ARRAY_BASE_OFFSET> = v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int arrayIndexScale(java.lang.Class)>(class "[I");
<io.netty.util.internal.PlatformDependent0: long INT_ARRAY_INDEX_SCALE> = v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int arrayBaseOffset(java.lang.Class)>(class "[J");
<io.netty.util.internal.PlatformDependent0: long LONG_ARRAY_BASE_OFFSET> = v;
v = <io.netty.util.internal.PlatformDependent0: sun.misc.Unsafe UNSAFE>;
v = virtualinvoke v.<sun.misc.Unsafe: int arrayIndexScale(java.lang.Class)>(class "[J");
<io.netty.util.internal.PlatformDependent0: long LONG_ARRAY_INDEX_SCALE> = v;
v = new io.netty.util.internal.PlatformDependent0$6;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$6: void <init>()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
v = v instanceof java.lang.Boolean;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("java.nio.Bits.unaligned: available, {}", v);
goto label;
label:
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: java.lang.String get(java.lang.String,java.lang.String)>("os.arch", "");
v = virtualinvoke v.<java.lang.String: boolean matches(java.lang.String)>("^(i[3-6]86|x86(_64)?|x64|amd)$");
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("java.nio.Bits.unaligned: unavailable, {}", v, v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("java.nio.Bits.unaligned: unavailable, {}, {}", v, v);
label:
<io.netty.util.internal.PlatformDependent0: boolean UNALIGNED> = v;
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int javaVersion()>();
if v < 9 goto label;
v = new io.netty.util.internal.PlatformDependent0$7;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$7: void <init>()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
v = v instanceof java.lang.Throwable;
if v != 0 goto label;
v = v;
v = v;
v = new io.netty.util.internal.PlatformDependent0$8;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$8: void <init>(java.lang.Object)>(v);
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
v = v instanceof java.lang.reflect.Method;
if v == 0 goto label;
label:
v = newarray (java.lang.Object)[2];
v = <java.lang.Byte: java.lang.Class TYPE>;
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(8);
v[1] = v;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
v = <io.netty.util.internal.PlatformDependent0: boolean $assertionsDisabled>;
if v != 0 goto label;
v = lengthof v;
if v == 8 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v;
label:
goto label;
label:
v := @caughtexception;
v = v;
goto label;
label:
v := @caughtexception;
v = v;
label:
v = v instanceof java.lang.Throwable;
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Throwable)>("jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable", v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable: {}", v);
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String)>("jdk.internal.misc.Unsafe.allocateUninitializedArray(int): available");
goto label;
label:
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String)>("jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9");
label:
<io.netty.util.internal.PlatformDependent0: java.lang.reflect.Method ALLOCATE_ARRAY_METHOD> = v;
<io.netty.util.internal.PlatformDependent0: boolean STORE_FENCE_AVAILABLE> = v;
label:
v = staticinvoke <io.netty.util.internal.PlatformDependent0: int javaVersion()>();
if v <= 9 goto label;
v = new io.netty.util.internal.PlatformDependent0$9;
specialinvoke v.<io.netty.util.internal.PlatformDependent0$9: void <init>()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
<io.netty.util.internal.PlatformDependent0: java.lang.reflect.Method ALIGN_SLICE> = v;
goto label;
label:
<io.netty.util.internal.PlatformDependent0: java.lang.reflect.Method ALIGN_SLICE> = null;
label:
<io.netty.util.internal.PlatformDependent0: java.lang.Object INTERNAL_UNSAFE> = v;
v = <io.netty.util.internal.PlatformDependent0: io.netty.util.internal.logging.InternalLogger logger>;
v = <io.netty.util.internal.PlatformDependent0: java.lang.reflect.Constructor DIRECT_BUFFER_CONSTRUCTOR>;
if v == null goto label;
v = "available";
goto label;
label:
v = "unavailable";
label:
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("java.nio.DirectByteBuffer.<init>(long, int): {}", v);
return;
catch java.lang.InstantiationException from label to label with label;
catch java.lang.IllegalAccessException from label to label with label;
catch java.lang.reflect.InvocationTargetException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.IllegalAccessException from label to label with label;
catch java.lang.reflect.InvocationTargetException from label to label with label;
}
}