public final class io.netty.buffer.ByteBufUtil extends java.lang.Object
{
private static final io.netty.util.internal.logging.InternalLogger logger;
private static final io.netty.util.concurrent.FastThreadLocal BYTE_ARRAYS;
private static final byte WRITE_UTF_UNKNOWN;
private static final int MAX_CHAR_BUFFER_SIZE;
private static final int THREAD_LOCAL_BUFFER_SIZE;
private static final int MAX_BYTES_PER_CHAR_UTF8;
static final int WRITE_CHUNK_SIZE;
static final io.netty.buffer.ByteBufAllocator DEFAULT_ALLOCATOR;
static final int MAX_TL_ARRAY_LEN;
private static final io.netty.util.ByteProcessor FIND_NON_ASCII;
static final boolean $assertionsDisabled;
static byte[] threadLocalTempArray(int)
{
int v;
java.lang.Object v;
io.netty.util.concurrent.FastThreadLocal v;
v := @parameter: int;
if v > 1024 goto label;
v = <io.netty.buffer.ByteBufUtil: io.netty.util.concurrent.FastThreadLocal BYTE_ARRAYS>;
v = virtualinvoke v.<io.netty.util.concurrent.FastThreadLocal: java.lang.Object get()>();
goto label;
label:
v = staticinvoke <io.netty.util.internal.PlatformDependent: byte[] allocateUninitializedArray(int)>(v);
label:
return v;
}
public static boolean isAccessible(io.netty.buffer.ByteBuf)
{
io.netty.buffer.ByteBuf v;
boolean v;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean isAccessible()>();
return v;
}
public static io.netty.buffer.ByteBuf ensureAccessible(io.netty.buffer.ByteBuf)
{
io.netty.buffer.ByteBuf v;
io.netty.util.IllegalReferenceCountException v;
int v;
boolean v;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean isAccessible()>();
if v != 0 goto label;
v = new io.netty.util.IllegalReferenceCountException;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int refCnt()>();
specialinvoke v.<io.netty.util.IllegalReferenceCountException: void <init>(int)>(v);
throw v;
label:
return v;
}
public static java.lang.String hexDump(io.netty.buffer.ByteBuf)
{
io.netty.buffer.ByteBuf v;
int v, v;
java.lang.String v;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf,int,int)>(v, v, v);
return v;
}
public static java.lang.String hexDump(io.netty.buffer.ByteBuf, int, int)
{
io.netty.buffer.ByteBuf v;
int v, v;
java.lang.String v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <io.netty.buffer.ByteBufUtil$HexUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf,int,int)>(v, v, v);
return v;
}
public static java.lang.String hexDump(byte[])
{
int v;
byte[] v;
java.lang.String v;
v := @parameter: byte[];
v = lengthof v;
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(byte[],int,int)>(v, 0, v);
return v;
}
public static java.lang.String hexDump(byte[], int, int)
{
byte[] v;
int v, v;
java.lang.String v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <io.netty.buffer.ByteBufUtil$HexUtil: java.lang.String hexDump(byte[],int,int)>(v, v, v);
return v;
}
public static byte decodeHexByte(java.lang.CharSequence, int)
{
int v;
byte v;
java.lang.CharSequence v;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v = staticinvoke <io.netty.util.internal.StringUtil: byte decodeHexByte(java.lang.CharSequence,int)>(v, v);
return v;
}
public static byte[] decodeHexDump(java.lang.CharSequence)
{
int v;
byte[] v;
java.lang.CharSequence v;
v := @parameter: java.lang.CharSequence;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = staticinvoke <io.netty.util.internal.StringUtil: byte[] decodeHexDump(java.lang.CharSequence,int,int)>(v, 0, v);
return v;
}
public static byte[] decodeHexDump(java.lang.CharSequence, int, int)
{
byte[] v;
java.lang.CharSequence v;
int v, v;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <io.netty.util.internal.StringUtil: byte[] decodeHexDump(java.lang.CharSequence,int,int)>(v, v, v);
return v;
}
public static boolean ensureWritableSuccess(int)
{
int v;
boolean v;
v := @parameter: int;
if v == 0 goto label;
if v != 2 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static int hashCode(io.netty.buffer.ByteBuf)
{
byte v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.nio.ByteOrder v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = v >>> 2;
v = v & 3;
v = 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
v = <java.nio.ByteOrder: java.nio.ByteOrder BIG_ENDIAN>;
if v != v goto label;
v = v;
label:
if v <= 0 goto label;
v = 31 * v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int getInt(int)>(v);
v = v + v;
v = v + 4;
v = v - 1;
goto label;
label:
v = v;
label:
if v <= 0 goto label;
v = 31 * v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int getInt(int)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: int swapInt(int)>(v);
v = v + v;
v = v + 4;
v = v - 1;
goto label;
label:
v = v;
label:
if v <= 0 goto label;
v = 31 * v;
v = v;
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v + v;
v = v - 1;
goto label;
label:
if v != 0 goto label;
v = 1;
label:
return v;
}
public static int indexOf(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf)
{
byte v, v, v, v, v, v, v, v, v;
long v, v, v, v;
boolean v;
io.netty.buffer.ByteBuf 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, 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 := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.buffer.ByteBuf;
if v == null goto label;
if v != null goto label;
label:
v = (int) -1;
return v;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
if v <= v goto label;
v = (int) -1;
return v;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
if v != 0 goto label;
return 0;
label:
if v != 1 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int writerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int indexOf(int,int,byte)>(v, v, v);
return v;
label:
v = 0;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: long maxSuf(io.netty.buffer.ByteBuf,int,int,boolean)>(v, v, v, 1);
v = staticinvoke <io.netty.buffer.ByteBufUtil: long maxSuf(io.netty.buffer.ByteBuf,int,int,boolean)>(v, v, v, 0);
v = v >> 32;
v = v >> 32;
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = v - v;
v = v + 1;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v + v;
v = staticinvoke <io.netty.buffer.ByteBufUtil: boolean equals(io.netty.buffer.ByteBuf,int,io.netty.buffer.ByteBuf,int,int)>(v, v, v, v, v);
if v == 0 goto label;
v = (int) -1;
v = v;
label:
v = v - v;
if v > v goto label;
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = v + 1;
label:
if v >= v goto label;
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v + v;
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
if v != v goto label;
v = v + 1;
goto label;
label:
if v <= v goto label;
v = (int) -1;
return v;
label:
if v < v goto label;
v = v;
label:
if v <= v goto label;
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v + v;
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
if v != v goto label;
v = v - 1;
goto label;
label:
if v > v goto label;
v = v + v;
return v;
label:
v = v + v;
v = v - v;
v = v - 1;
goto label;
label:
v = v - v;
v = v + v;
v = (int) -1;
v = v;
goto label;
label:
v = v + 1;
v = v - v;
v = v - 1;
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = v + 1;
label:
v = v - v;
if v > v goto label;
v = v + 1;
label:
if v >= v goto label;
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v + v;
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
if v != v goto label;
v = v + 1;
goto label;
label:
if v <= v goto label;
v = (int) -1;
return v;
label:
if v < v goto label;
v = v;
label:
if v < 0 goto label;
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v + v;
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
if v != v goto label;
v = v - 1;
goto label;
label:
if v >= 0 goto label;
v = v + v;
return v;
label:
v = v + v;
goto label;
label:
v = v - v;
v = v + v;
goto label;
label:
v = (int) -1;
return v;
}
private static long maxSuf(io.netty.buffer.ByteBuf, int, int, boolean)
{
long v, v;
byte v, v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v, v, v, v, v;
boolean v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v = 1;
v = (int) -1;
v = v;
v = v;
v = 1;
label:
v = v + v;
if v >= v goto label;
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
if v == 0 goto label;
if v >= v goto label;
v = 1;
goto label;
label:
v = 0;
goto label;
label:
if v <= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = v + v;
v = 1;
v = v - v;
goto label;
label:
if v != v goto label;
if v == v goto label;
v = v + 1;
goto label;
label:
v = v + v;
v = 1;
goto label;
label:
v = v;
v = v + 1;
v = 1;
v = 1;
goto label;
label:
v = v << 32;
v = v + v;
return v;
}
public static boolean equals(io.netty.buffer.ByteBuf, int, io.netty.buffer.ByteBuf, int, int)
{
long v, v, v, v, v;
byte v, v, v, v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
java.nio.ByteOrder v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "a");
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "b");
staticinvoke <io.netty.util.internal.ObjectUtil: int checkPositiveOrZero(int,java.lang.String)>(v, "aStartIndex");
staticinvoke <io.netty.util.internal.ObjectUtil: int checkPositiveOrZero(int,java.lang.String)>(v, "bStartIndex");
staticinvoke <io.netty.util.internal.ObjectUtil: int checkPositiveOrZero(int,java.lang.String)>(v, "length");
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int writerIndex()>();
v = v - v;
if v < v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int writerIndex()>();
v = v - v;
if v >= v goto label;
label:
return 0;
label:
v = v >>> 3;
v = v & 7;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
if v != v goto label;
v = v;
label:
if v <= 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getLong(int)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getLong(int)>(v);
v = v cmp v;
if v == 0 goto label;
return 0;
label:
v = v + 8;
v = v + 8;
v = v - 1;
goto label;
label:
v = v;
label:
if v <= 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getLong(int)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getLong(int)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: long swapLong(long)>(v);
v = v cmp v;
if v == 0 goto label;
return 0;
label:
v = v + 8;
v = v + 8;
v = v - 1;
goto label;
label:
v = v;
label:
if v <= 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
if v == v goto label;
return 0;
label:
v = v + 1;
v = v + 1;
v = v - 1;
goto label;
label:
return 1;
}
public static boolean equals(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf)
{
io.netty.buffer.ByteBuf v, v;
int v, v, v, v;
boolean v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.buffer.ByteBuf;
if v != v goto label;
return 1;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
if v == v goto label;
return 0;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: boolean equals(io.netty.buffer.ByteBuf,int,io.netty.buffer.ByteBuf,int,int)>(v, v, v, v, v);
return v;
}
public static int compare(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf)
{
long v, v, v, v, v;
short v, v;
byte v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v, v, v, v, v, v, v, v;
boolean v;
java.nio.ByteOrder v, v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.buffer.ByteBuf;
if v != v goto label;
return 0;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v >>> 2;
v = v & 3;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
if v <= 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
v = <java.nio.ByteOrder: java.nio.ByteOrder BIG_ENDIAN>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v << 2;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
if v != v goto label;
if v == 0 goto label;
v = staticinvoke <io.netty.buffer.ByteBufUtil: long compareUintBigEndian(io.netty.buffer.ByteBuf,io.netty.buffer.ByteBuf,int,int,int)>(v, v, v, v, v);
goto label;
label:
v = staticinvoke <io.netty.buffer.ByteBufUtil: long compareUintLittleEndian(io.netty.buffer.ByteBuf,io.netty.buffer.ByteBuf,int,int,int)>(v, v, v, v, v);
label:
v = v;
goto label;
label:
if v == 0 goto label;
v = staticinvoke <io.netty.buffer.ByteBufUtil: long compareUintBigEndianA(io.netty.buffer.ByteBuf,io.netty.buffer.ByteBuf,int,int,int)>(v, v, v, v, v);
goto label;
label:
v = staticinvoke <io.netty.buffer.ByteBufUtil: long compareUintBigEndianB(io.netty.buffer.ByteBuf,io.netty.buffer.ByteBuf,int,int,int)>(v, v, v, v, v);
label:
v = v;
label:
v = v cmp 0L;
if v == 0 goto label;
v = staticinvoke <java.lang.Math: long max(long,long)>(-2147483648L, v);
v = staticinvoke <java.lang.Math: long min(long,long)>(2147483647L, v);
return v;
label:
v = v + v;
v = v + v;
label:
v = v + v;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: short getUnsignedByte(int)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: short getUnsignedByte(int)>(v);
v = v - v;
if v == 0 goto label;
return v;
label:
v = v + 1;
v = v + 1;
goto label;
label:
v = v - v;
return v;
}
private static long compareUintBigEndian(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int, int, int)
{
long v, v, v;
byte v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v + v;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getUnsignedInt(int)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getUnsignedInt(int)>(v);
v = v - v;
v = v cmp 0L;
if v == 0 goto label;
return v;
label:
v = v + 4;
v = v + 4;
goto label;
label:
return 0L;
}
private static long compareUintLittleEndian(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int, int, int)
{
long v, v, v, v, v;
byte v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v + v;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getUnsignedIntLE(int)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: long uintFromLE(long)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getUnsignedIntLE(int)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: long uintFromLE(long)>(v);
v = v - v;
v = v cmp 0L;
if v == 0 goto label;
return v;
label:
v = v + 4;
v = v + 4;
goto label;
label:
return 0L;
}
private static long compareUintBigEndianA(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int, int, int)
{
long v, v, v, v;
byte v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v + v;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getUnsignedInt(int)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getUnsignedIntLE(int)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: long uintFromLE(long)>(v);
v = v - v;
v = v cmp 0L;
if v == 0 goto label;
return v;
label:
v = v + 4;
v = v + 4;
goto label;
label:
return 0L;
}
private static long compareUintBigEndianB(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int, int, int)
{
long v, v, v, v;
byte v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v + v;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getUnsignedIntLE(int)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: long uintFromLE(long)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long getUnsignedInt(int)>(v);
v = v - v;
v = v cmp 0L;
if v == 0 goto label;
return v;
label:
v = v + 4;
v = v + 4;
goto label;
label:
return 0L;
}
private static long uintFromLE(long)
{
long v, v, v;
v := @parameter: long;
v = staticinvoke <java.lang.Long: long reverseBytes(long)>(v);
v = v >>> 32;
return v;
}
private static int unrolledFirstIndexOf(io.netty.buffer.AbstractByteBuf, int, int, byte)
{
byte v, v, v, v, v, v, v, v;
boolean v;
io.netty.buffer.AbstractByteBuf v;
java.lang.AssertionError v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: io.netty.buffer.AbstractByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: byte;
v = <io.netty.buffer.ByteBufUtil: boolean $assertionsDisabled>;
if v != 0 goto label;
if v <= 0 goto label;
if v < 8 goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte _getByte(int)>(v);
if v != v goto label;
return v;
label:
if v != 1 goto label;
v = (int) -1;
return v;
label:
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte _getByte(int)>(v);
if v != v goto label;
v = v + 1;
return v;
label:
if v != 2 goto label;
v = (int) -1;
return v;
label:
v = v + 2;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte _getByte(int)>(v);
if v != v goto label;
v = v + 2;
return v;
label:
if v != 3 goto label;
v = (int) -1;
return v;
label:
v = v + 3;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte _getByte(int)>(v);
if v != v goto label;
v = v + 3;
return v;
label:
if v != 4 goto label;
v = (int) -1;
return v;
label:
v = v + 4;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte _getByte(int)>(v);
if v != v goto label;
v = v + 4;
return v;
label:
if v != 5 goto label;
v = (int) -1;
return v;
label:
v = v + 5;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte _getByte(int)>(v);
if v != v goto label;
v = v + 5;
return v;
label:
if v != 6 goto label;
v = (int) -1;
return v;
label:
v = v + 6;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte _getByte(int)>(v);
if v != v goto label;
v = v + 6;
return v;
label:
v = (int) -1;
return v;
}
static int firstIndexOf(io.netty.buffer.AbstractByteBuf, int, int, byte)
{
byte v;
boolean v, v, v, v, v, v, v;
io.netty.buffer.AbstractByteBuf v;
java.nio.ByteOrder v, v, v;
long v, v;
java.lang.AssertionError v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: io.netty.buffer.AbstractByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: byte;
v = staticinvoke <java.lang.Math: int max(int,int)>(v, 0);
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: int capacity()>();
if v != 0 goto label;
label:
v = (int) -1;
return v;
label:
v = v - v;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void checkIndex(int,int)>(v, v);
v = staticinvoke <io.netty.util.internal.PlatformDependent: boolean isUnaligned()>();
if v != 0 goto label;
v = staticinvoke <io.netty.buffer.ByteBufUtil: int linearFirstIndexOf(io.netty.buffer.AbstractByteBuf,int,int,byte)>(v, v, v, v);
return v;
label:
v = <io.netty.buffer.ByteBufUtil: boolean $assertionsDisabled>;
if v != 0 goto label;
v = staticinvoke <io.netty.util.internal.PlatformDependent: boolean isUnaligned()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v;
v = v & 7;
if v <= 0 goto label;
v = staticinvoke <io.netty.buffer.ByteBufUtil: int unrolledFirstIndexOf(io.netty.buffer.AbstractByteBuf,int,int,byte)>(v, v, v, v);
v = (int) -1;
if v == v goto label;
return v;
label:
v = v + v;
if v != v goto label;
v = (int) -1;
return v;
label:
v = v >>> 3;
v = staticinvoke <java.nio.ByteOrder: java.nio.ByteOrder nativeOrder()>();
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: java.nio.ByteOrder order()>();
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = <java.nio.ByteOrder: java.nio.ByteOrder LITTLE_ENDIAN>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = staticinvoke <io.netty.buffer.ByteBufUtil$SWARByteSearch: long compilePattern(byte)>(v);
v = 0;
label:
if v >= v goto label;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: long _getLongLE(int)>(v);
goto label;
label:
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: long _getLong(int)>(v);
label:
v = staticinvoke <io.netty.buffer.ByteBufUtil$SWARByteSearch: int firstAnyPattern(long,long,boolean)>(v, v, v);
if v >= 8 goto label;
v = v + v;
return v;
label:
v = v + 8;
v = v + 1;
goto label;
label:
v = (int) -1;
return v;
}
private static int linearFirstIndexOf(io.netty.buffer.AbstractByteBuf, int, int, byte)
{
io.netty.buffer.AbstractByteBuf v;
byte v, v;
int v, v, v, v;
v := @parameter: io.netty.buffer.AbstractByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: byte;
v = v;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte _getByte(int)>(v);
if v != v goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
return v;
}
public static int indexOf(io.netty.buffer.ByteBuf, int, int, byte)
{
byte v;
io.netty.buffer.ByteBuf v;
int v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: byte;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int indexOf(int,int,byte)>(v, v, v);
return v;
}
public static short swapShort(short)
{
short v, v;
v := @parameter: short;
v = staticinvoke <java.lang.Short: short reverseBytes(short)>(v);
return v;
}
public static int swapMedium(int)
{
int v, v, v, v, v, v, v, v, v, v;
v := @parameter: int;
v = v << 16;
v = v & 16711680;
v = (int) 65280;
v = v & v;
v = v | v;
v = v >>> 16;
v = v & 255;
v = v | v;
v = v & 8388608;
if v == 0 goto label;
v = v | -16777216;
label:
return v;
}
public static int swapInt(int)
{
int v, v;
v := @parameter: int;
v = staticinvoke <java.lang.Integer: int reverseBytes(int)>(v);
return v;
}
public static long swapLong(long)
{
long v, v;
v := @parameter: long;
v = staticinvoke <java.lang.Long: long reverseBytes(long)>(v);
return v;
}
public static io.netty.buffer.ByteBuf writeShortBE(io.netty.buffer.ByteBuf, int)
{
java.nio.ByteOrder v, v;
short v;
io.netty.buffer.ByteBuf v, v;
int v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
v = <java.nio.ByteOrder: java.nio.ByteOrder BIG_ENDIAN>;
if v != v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeShort(int)>(v);
goto label;
label:
v = staticinvoke <io.netty.buffer.ByteBufUtil: short swapShort(short)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeShort(int)>(v);
label:
return v;
}
public static io.netty.buffer.ByteBuf setShortBE(io.netty.buffer.ByteBuf, int, int)
{
java.nio.ByteOrder v, v;
short v;
io.netty.buffer.ByteBuf v, v;
int v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
v = <java.nio.ByteOrder: java.nio.ByteOrder BIG_ENDIAN>;
if v != v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf setShort(int,int)>(v, v);
goto label;
label:
v = staticinvoke <io.netty.buffer.ByteBufUtil: short swapShort(short)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf setShort(int,int)>(v, v);
label:
return v;
}
public static io.netty.buffer.ByteBuf writeMediumBE(io.netty.buffer.ByteBuf, int)
{
java.nio.ByteOrder v, v;
io.netty.buffer.ByteBuf v, v;
int v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
v = <java.nio.ByteOrder: java.nio.ByteOrder BIG_ENDIAN>;
if v != v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeMedium(int)>(v);
goto label;
label:
v = staticinvoke <io.netty.buffer.ByteBufUtil: int swapMedium(int)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeMedium(int)>(v);
label:
return v;
}
public static int readUnsignedShortBE(io.netty.buffer.ByteBuf)
{
java.nio.ByteOrder v, v;
short v;
io.netty.buffer.ByteBuf v;
int v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
v = <java.nio.ByteOrder: java.nio.ByteOrder BIG_ENDIAN>;
if v != v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readUnsignedShort()>();
goto label;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readUnsignedShort()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: short swapShort(short)>(v);
v = (int) 65535;
v = v & v;
label:
return v;
}
public static int readIntBE(io.netty.buffer.ByteBuf)
{
java.nio.ByteOrder v, v;
io.netty.buffer.ByteBuf v;
int v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteOrder order()>();
v = <java.nio.ByteOrder: java.nio.ByteOrder BIG_ENDIAN>;
if v != v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readInt()>();
goto label;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readInt()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: int swapInt(int)>(v);
label:
return v;
}
public static io.netty.buffer.ByteBuf readBytes(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf, int)
{
java.lang.Throwable v;
io.netty.buffer.ByteBuf v, v;
io.netty.buffer.ByteBufAllocator v;
int v;
v := @parameter: io.netty.buffer.ByteBufAllocator;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf buffer(int)>(v);
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readBytes(io.netty.buffer.ByteBuf)>(v);
label:
return v;
label:
v := @caughtexception;
virtualinvoke v.<io.netty.buffer.ByteBuf: boolean release()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
static int lastIndexOf(io.netty.buffer.AbstractByteBuf, int, int, byte)
{
io.netty.buffer.AbstractByteBuf v;
java.lang.AssertionError v;
byte v, v;
int v, v, v, v, v, v, v, v;
boolean v;
v := @parameter: io.netty.buffer.AbstractByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: byte;
v = <io.netty.buffer.ByteBufUtil: boolean $assertionsDisabled>;
if v != 0 goto label;
if v > v goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: int capacity()>();
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
if v < 0 goto label;
if v != 0 goto label;
label:
v = (int) -1;
return v;
label:
v = v - v;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void checkIndex(int,int)>(v, v);
v = v - 1;
label:
if v < v goto label;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte _getByte(int)>(v);
if v != v goto label;
return v;
label:
v = v - 1;
goto label;
label:
v = (int) -1;
return v;
}
private static java.lang.CharSequence checkCharSequenceBounds(java.lang.CharSequence, int, int)
{
java.lang.IndexOutOfBoundsException v;
java.lang.CharSequence v;
int v, v, v, v, v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = v - v;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = staticinvoke <io.netty.util.internal.MathUtil: boolean isOutOfBounds(int,int,int)>(v, v, v);
if v == 0 goto label;
v = new java.lang.IndexOutOfBoundsException;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,int)>(v, v, 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[])>("expected: 0 <= start(\u) <= end (\u) <= seq.length(\u)");
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public static io.netty.buffer.ByteBuf writeUtf8(io.netty.buffer.ByteBufAllocator, java.lang.CharSequence)
{
io.netty.buffer.ByteBuf v;
java.lang.CharSequence v;
io.netty.buffer.ByteBufAllocator v;
int v;
v := @parameter: io.netty.buffer.ByteBufAllocator;
v := @parameter: java.lang.CharSequence;
v = staticinvoke <io.netty.buffer.ByteBufUtil: int utf8MaxBytes(java.lang.CharSequence)>(v);
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf buffer(int)>(v);
staticinvoke <io.netty.buffer.ByteBufUtil: int writeUtf8(io.netty.buffer.ByteBuf,java.lang.CharSequence)>(v, v);
return v;
}
public static int writeUtf8(io.netty.buffer.ByteBuf, java.lang.CharSequence)
{
io.netty.buffer.ByteBuf v;
java.lang.CharSequence v;
int v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: java.lang.CharSequence;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: int utf8MaxBytes(int)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: int reserveAndWriteUtf8Seq(io.netty.buffer.ByteBuf,java.lang.CharSequence,int,int,int)>(v, v, 0, v, v);
return v;
}
public static int writeUtf8(io.netty.buffer.ByteBuf, java.lang.CharSequence, int, int)
{
io.netty.buffer.ByteBuf v;
java.lang.CharSequence v;
int v, v, v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.CharSequence checkCharSequenceBounds(java.lang.CharSequence,int,int)>(v, v, v);
v = v - v;
v = staticinvoke <io.netty.buffer.ByteBufUtil: int utf8MaxBytes(int)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: int reserveAndWriteUtf8Seq(io.netty.buffer.ByteBuf,java.lang.CharSequence,int,int,int)>(v, v, v, v, v);
return v;
}
public static int reserveAndWriteUtf8(io.netty.buffer.ByteBuf, java.lang.CharSequence, int)
{
io.netty.buffer.ByteBuf v;
java.lang.CharSequence v;
int v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: int reserveAndWriteUtf8Seq(io.netty.buffer.ByteBuf,java.lang.CharSequence,int,int,int)>(v, v, 0, v, v);
return v;
}
public static int reserveAndWriteUtf8(io.netty.buffer.ByteBuf, java.lang.CharSequence, int, int, int)
{
io.netty.buffer.ByteBuf v;
java.lang.CharSequence v, v;
int v, v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.CharSequence checkCharSequenceBounds(java.lang.CharSequence,int,int)>(v, v, v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: int reserveAndWriteUtf8Seq(io.netty.buffer.ByteBuf,java.lang.CharSequence,int,int,int)>(v, v, v, v, v);
return v;
}
private static int reserveAndWriteUtf8Seq(io.netty.buffer.ByteBuf, java.lang.CharSequence, int, int, int)
{
byte[] v;
io.netty.buffer.ByteBuf v;
java.nio.charset.Charset v;
int v, v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v, v;
java.lang.CharSequence v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
label:
v = v instanceof io.netty.buffer.WrappedCompositeByteBuf;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf unwrap()>();
goto label;
label:
v = v instanceof io.netty.buffer.AbstractByteBuf;
if v == 0 goto label;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void ensureWritable0(int)>(v);
v = v.<io.netty.buffer.AbstractByteBuf: int writerIndex>;
v = staticinvoke <io.netty.buffer.ByteBufUtil: int writeUtf8(io.netty.buffer.AbstractByteBuf,int,int,java.lang.CharSequence,int,int)>(v, v, v, v, v, v);
v = v.<io.netty.buffer.AbstractByteBuf: int writerIndex>;
v = v + v;
v.<io.netty.buffer.AbstractByteBuf: int writerIndex> = v;
return v;
label:
v = v instanceof io.netty.buffer.WrappedByteBuf;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf unwrap()>();
goto label;
label:
v = interfaceinvoke v.<java.lang.CharSequence: java.lang.CharSequence subSequence(int,int)>(v, v);
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeBytes(byte[])>(v);
v = lengthof v;
return v;
}
static int writeUtf8(io.netty.buffer.AbstractByteBuf, int, int, java.lang.CharSequence, int)
{
io.netty.buffer.AbstractByteBuf v;
java.lang.CharSequence v;
int v, v, v, v;
v := @parameter: io.netty.buffer.AbstractByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v = staticinvoke <io.netty.buffer.ByteBufUtil: int writeUtf8(io.netty.buffer.AbstractByteBuf,int,int,java.lang.CharSequence,int,int)>(v, v, v, v, 0, v);
return v;
}
static int writeUtf8(io.netty.buffer.AbstractByteBuf, int, int, java.lang.CharSequence, int, int)
{
byte[] v, v;
long v, v;
java.lang.AssertionError v;
java.nio.ByteBuffer v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v;
io.netty.buffer.AbstractByteBuf v;
java.lang.CharSequence v;
v := @parameter: io.netty.buffer.AbstractByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = v instanceof io.netty.util.AsciiString;
if v == 0 goto label;
staticinvoke <io.netty.buffer.ByteBufUtil: void writeAsciiString(io.netty.buffer.AbstractByteBuf,int,io.netty.util.AsciiString,int,int)>(v, v, v, v, v);
v = v - v;
return v;
label:
v = staticinvoke <io.netty.util.internal.PlatformDependent: boolean hasUnsafe()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: boolean hasArray()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte[] array()>();
v = staticinvoke <io.netty.util.internal.PlatformDependent: long byteArrayBaseOffset()>();
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: int arrayOffset()>();
v = v + v;
v = staticinvoke <io.netty.buffer.ByteBufUtil: int unsafeWriteUtf8(byte[],long,int,java.lang.CharSequence,int,int)>(v, v, v, v, v, v);
return v;
label:
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: boolean hasMemoryAddress()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: long memoryAddress()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: int unsafeWriteUtf8(byte[],long,int,java.lang.CharSequence,int,int)>(null, v, v, v, v, v);
return v;
label:
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: boolean hasArray()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte[] array()>();
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: int arrayOffset()>();
v = v + v;
v = staticinvoke <io.netty.buffer.ByteBufUtil: int safeArrayWriteUtf8(byte[],int,java.lang.CharSequence,int,int)>(v, v, v, v, v);
return v;
label:
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: boolean isDirect()>();
if v == 0 goto label;
v = <io.netty.buffer.ByteBufUtil: boolean $assertionsDisabled>;
if v != 0 goto label;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: int nioBufferCount()>();
if v == 1 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: java.nio.ByteBuffer internalNioBuffer(int,int)>(v, v);
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: int safeDirectWriteUtf8(java.nio.ByteBuffer,int,java.lang.CharSequence,int,int)>(v, v, v, v, v);
return v;
label:
v = staticinvoke <io.netty.buffer.ByteBufUtil: int safeWriteUtf8(io.netty.buffer.AbstractByteBuf,int,java.lang.CharSequence,int,int)>(v, v, v, v, v);
return v;
}
static void writeAsciiString(io.netty.buffer.AbstractByteBuf, int, io.netty.util.AsciiString, int, int)
{
byte[] v, v, v, v, v, v;
io.netty.util.AsciiString v;
long v, v;
int v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v;
io.netty.buffer.AbstractByteBuf v;
v := @parameter: io.netty.buffer.AbstractByteBuf;
v := @parameter: int;
v := @parameter: io.netty.util.AsciiString;
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<io.netty.util.AsciiString: int arrayOffset()>();
v = v + v;
v = v - v;
v = staticinvoke <io.netty.util.internal.PlatformDependent: boolean hasUnsafe()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: boolean hasArray()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.util.AsciiString: byte[] array()>();
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte[] array()>();
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: int arrayOffset()>();
v = v + v;
staticinvoke <io.netty.util.internal.PlatformDependent: void copyMemory(byte[],int,byte[],int,long)>(v, v, v, v, v);
return;
label:
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: boolean hasMemoryAddress()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.util.AsciiString: byte[] array()>();
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: long memoryAddress()>();
v = v + v;
staticinvoke <io.netty.util.internal.PlatformDependent: void copyMemory(byte[],int,long,long)>(v, v, v, v);
return;
label:
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: boolean hasArray()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.util.AsciiString: byte[] array()>();
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: byte[] array()>();
v = virtualinvoke v.<io.netty.buffer.AbstractByteBuf: int arrayOffset()>();
v = v + v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
return;
label:
v = virtualinvoke v.<io.netty.util.AsciiString: byte[] array()>();
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: io.netty.buffer.ByteBuf setBytes(int,byte[],int,int)>(v, v, v, v);
return;
}
private static int safeDirectWriteUtf8(java.nio.ByteBuffer, int, java.lang.CharSequence, int, int)
{
java.nio.ByteBuffer v;
boolean v, v, v, v, v, v;
java.lang.CharSequence v;
java.lang.AssertionError v;
short 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, v, v, v, v, v, v, v, v, v, v;
char v, v, v, v;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: int;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = <io.netty.buffer.ByteBufUtil: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.util.AsciiString;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v;
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v >= 128 goto label;
v = v;
v = v + 1;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
goto label;
label:
if v >= 2048 goto label;
v = v + 1;
v = v >> 6;
v = 192 | v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
v = v & 63;
v = 128 | v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
goto label;
label:
v = staticinvoke <io.netty.util.internal.StringUtil: boolean isSurrogate(char)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Character: boolean isHighSurrogate(char)>(v);
if v != 0 goto label;
v = v;
v = v + 1;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, 63);
goto label;
label:
v = v + 1;
if v != v goto label;
v = v;
v = v + 1;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, 63);
goto label;
label:
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isLowSurrogate(char)>(v);
if v != 0 goto label;
v = v + 1;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, 63);
v = v + 1;
staticinvoke <java.lang.Character: boolean isHighSurrogate(char)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
goto label;
label:
v = staticinvoke <java.lang.Character: int toCodePoint(char,char)>(v, v);
v = v + 1;
v = v >> 18;
v = 240 | v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
v = v >> 12;
v = v & 63;
v = 128 | v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
v = v >> 6;
v = v & 63;
v = 128 | v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
v = v & 63;
v = 128 | v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
goto label;
label:
v = v + 1;
v = v >> 12;
v = 224 | v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
v = v >> 6;
v = v & 63;
v = 128 | v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
v = v & 63;
v = 128 | v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
label:
v = v + 1;
goto label;
label:
v = v - v;
return v;
}
private static int safeWriteUtf8(io.netty.buffer.AbstractByteBuf, int, java.lang.CharSequence, int, int)
{
byte v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v;
io.netty.buffer.AbstractByteBuf v;
java.lang.CharSequence v;
java.lang.AssertionError v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
char v, v;
v := @parameter: io.netty.buffer.AbstractByteBuf;
v := @parameter: int;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = <io.netty.buffer.ByteBufUtil: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.util.AsciiString;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v;
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v >= 128 goto label;
v = v;
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
goto label;
label:
if v >= 2048 goto label;
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
goto label;
label:
v = staticinvoke <io.netty.util.internal.StringUtil: boolean isSurrogate(char)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Character: boolean isHighSurrogate(char)>(v);
if v != 0 goto label;
v = v;
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, 63);
goto label;
label:
v = v + 1;
if v != v goto label;
v = v;
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, 63);
goto label;
label:
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isLowSurrogate(char)>(v);
if v != 0 goto label;
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, 63);
v = v + 1;
v = staticinvoke <java.lang.Character: boolean isHighSurrogate(char)>(v);
if v == 0 goto label;
v = 63;
goto label;
label:
v = v;
label:
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
goto label;
label:
staticinvoke <java.lang.Character: int toCodePoint(char,char)>(v, v);
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
goto label;
label:
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
v = v + 1;
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
label:
v = v + 1;
goto label;
label:
v = v - v;
return v;
}
private static int safeArrayWriteUtf8(byte[], int, java.lang.CharSequence, int, int)
{
byte[] v;
boolean v, v, v, v;
java.lang.CharSequence v;
short 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, v, v, v, v, v, v, v, v, v, v, v;
char v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = v;
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v >= 128 goto label;
v = v;
v = v + 1;
v[v] = v;
goto label;
label:
if v >= 2048 goto label;
v = v + 1;
v = v >> 6;
v = 192 | v;
v[v] = v;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
goto label;
label:
v = staticinvoke <io.netty.util.internal.StringUtil: boolean isSurrogate(char)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Character: boolean isHighSurrogate(char)>(v);
if v != 0 goto label;
v = v;
v = v + 1;
v[v] = 63;
goto label;
label:
v = v + 1;
if v != v goto label;
v = v;
v = v + 1;
v[v] = 63;
goto label;
label:
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isLowSurrogate(char)>(v);
if v != 0 goto label;
v = v + 1;
v[v] = 63;
v = v + 1;
v = staticinvoke <java.lang.Character: boolean isHighSurrogate(char)>(v);
if v == 0 goto label;
v = 63;
goto label;
label:
v = v;
label:
v[v] = v;
goto label;
label:
v = staticinvoke <java.lang.Character: int toCodePoint(char,char)>(v, v);
v = v + 1;
v = v >> 18;
v = 240 | v;
v[v] = v;
v = v + 1;
v = v >> 12;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v + 1;
v = v >> 6;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
goto label;
label:
v = v + 1;
v = v >> 12;
v = 224 | v;
v[v] = v;
v = v + 1;
v = v >> 6;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
label:
v = v + 1;
goto label;
label:
v = v - v;
return v;
}
private static int unsafeWriteUtf8(byte[], long, int, java.lang.CharSequence, int, int)
{
byte[] v;
boolean v, v, v, v, v, v;
java.lang.CharSequence v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.AssertionError v;
short 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;
char v, v, v, v;
v := @parameter: byte[];
v := @parameter: long;
v := @parameter: int;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = <io.netty.buffer.ByteBufUtil: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.util.AsciiString;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v + v;
v = v;
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v >= 128 goto label;
v = v;
v = v + 1L;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
goto label;
label:
if v >= 2048 goto label;
v = v + 1L;
v = v >> 6;
v = 192 | v;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
v = v + 1L;
v = v & 63;
v = 128 | v;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
goto label;
label:
v = staticinvoke <io.netty.util.internal.StringUtil: boolean isSurrogate(char)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Character: boolean isHighSurrogate(char)>(v);
if v != 0 goto label;
v = v;
v = v + 1L;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, 63);
goto label;
label:
v = v + 1;
if v != v goto label;
v = v;
v = v + 1L;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, 63);
goto label;
label:
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isLowSurrogate(char)>(v);
if v != 0 goto label;
v = v + 1L;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, 63);
v = v + 1L;
v = staticinvoke <java.lang.Character: boolean isHighSurrogate(char)>(v);
if v == 0 goto label;
v = 63;
goto label;
label:
v = v;
label:
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
goto label;
label:
v = staticinvoke <java.lang.Character: int toCodePoint(char,char)>(v, v);
v = v + 1L;
v = v >> 18;
v = 240 | v;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
v = v + 1L;
v = v >> 12;
v = v & 63;
v = 128 | v;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
v = v + 1L;
v = v >> 6;
v = v & 63;
v = 128 | v;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
v = v + 1L;
v = v & 63;
v = 128 | v;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
goto label;
label:
v = v + 1L;
v = v >> 12;
v = 224 | v;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
v = v + 1L;
v = v >> 6;
v = v & 63;
v = 128 | v;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
v = v + 1L;
v = v & 63;
v = 128 | v;
staticinvoke <io.netty.util.internal.PlatformDependent: void putByte(java.lang.Object,long,byte)>(v, v, v);
label:
v = v + 1;
goto label;
label:
v = v - v;
return v;
}
public static int utf8MaxBytes(int)
{
int v, v, v;
v := @parameter: int;
v = <io.netty.buffer.ByteBufUtil: int MAX_BYTES_PER_CHAR_UTF8>;
v = v * v;
return v;
}
public static int utf8MaxBytes(java.lang.CharSequence)
{
java.lang.CharSequence v;
int v, v, v;
boolean v;
v := @parameter: java.lang.CharSequence;
v = v instanceof io.netty.util.AsciiString;
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
return v;
label:
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: int utf8MaxBytes(int)>(v);
return v;
}
public static int utf8Bytes(java.lang.CharSequence)
{
int v, v;
java.lang.CharSequence v;
v := @parameter: java.lang.CharSequence;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: int utf8ByteCount(java.lang.CharSequence,int,int)>(v, 0, v);
return v;
}
public static int utf8Bytes(java.lang.CharSequence, int, int)
{
java.lang.CharSequence v, v;
int v, v, v;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.CharSequence checkCharSequenceBounds(java.lang.CharSequence,int,int)>(v, v, v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: int utf8ByteCount(java.lang.CharSequence,int,int)>(v, v, v);
return v;
}
private static int utf8ByteCount(java.lang.CharSequence, int, int)
{
java.lang.CharSequence v;
char v;
int v, v, v, v, v, v, v;
boolean v;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = v instanceof io.netty.util.AsciiString;
if v == 0 goto label;
v = v - v;
return v;
label:
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v >= 128 goto label;
v = v + 1;
goto label;
label:
if v >= v goto label;
v = v - v;
v = staticinvoke <io.netty.buffer.ByteBufUtil: int utf8BytesNonAscii(java.lang.CharSequence,int,int)>(v, v, v);
v = v + v;
goto label;
label:
v = v - v;
label:
return v;
}
private static int utf8BytesNonAscii(java.lang.CharSequence, int, int)
{
java.lang.CharSequence v;
char v, v;
int v, v, v, v, v, v, v;
boolean v, v, v;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = 0;
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v >= 2048 goto label;
v = 127 - v;
v = v >>> 31;
v = v + 1;
v = v + v;
goto label;
label:
v = staticinvoke <io.netty.util.internal.StringUtil: boolean isSurrogate(char)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Character: boolean isHighSurrogate(char)>(v);
if v != 0 goto label;
v = v + 1;
goto label;
label:
v = v + 1;
if v != v goto label;
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isLowSurrogate(char)>(v);
if v != 0 goto label;
v = v + 2;
goto label;
label:
v = v + 4;
goto label;
label:
v = v + 3;
label:
v = v + 1;
goto label;
label:
return v;
}
public static io.netty.buffer.ByteBuf writeAscii(io.netty.buffer.ByteBufAllocator, java.lang.CharSequence)
{
io.netty.buffer.ByteBuf v;
java.lang.CharSequence v;
io.netty.buffer.ByteBufAllocator v;
int v;
v := @parameter: io.netty.buffer.ByteBufAllocator;
v := @parameter: java.lang.CharSequence;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf buffer(int)>(v);
staticinvoke <io.netty.buffer.ByteBufUtil: int writeAscii(io.netty.buffer.ByteBuf,java.lang.CharSequence)>(v, v);
return v;
}
public static int writeAscii(io.netty.buffer.ByteBuf, java.lang.CharSequence)
{
byte[] v;
java.lang.AssertionError v;
io.netty.buffer.ByteBuf v;
java.nio.charset.Charset v;
int v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v, v, v, v;
java.lang.CharSequence v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: java.lang.CharSequence;
label:
v = v instanceof io.netty.buffer.WrappedCompositeByteBuf;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf unwrap()>();
goto label;
label:
v = v instanceof io.netty.buffer.AbstractByteBuf;
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void ensureWritable0(int)>(v);
v = v instanceof io.netty.util.AsciiString;
if v == 0 goto label;
v = v.<io.netty.buffer.AbstractByteBuf: int writerIndex>;
staticinvoke <io.netty.buffer.ByteBufUtil: void writeAsciiString(io.netty.buffer.AbstractByteBuf,int,io.netty.util.AsciiString,int,int)>(v, v, v, 0, v);
goto label;
label:
v = v.<io.netty.buffer.AbstractByteBuf: int writerIndex>;
v = staticinvoke <io.netty.buffer.ByteBufUtil: int writeAscii(io.netty.buffer.AbstractByteBuf,int,java.lang.CharSequence,int)>(v, v, v, v);
v = <io.netty.buffer.ByteBufUtil: boolean $assertionsDisabled>;
if v != 0 goto label;
if v == v goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.buffer.AbstractByteBuf: int writerIndex>;
v = v + v;
v.<io.netty.buffer.AbstractByteBuf: int writerIndex> = v;
return v;
label:
v = v instanceof io.netty.buffer.WrappedByteBuf;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf unwrap()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset US_ASCII>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeBytes(byte[])>(v);
v = lengthof v;
return v;
}
static int writeAscii(io.netty.buffer.AbstractByteBuf, int, java.lang.CharSequence, int)
{
io.netty.buffer.AbstractByteBuf v;
java.lang.CharSequence v;
int v, v;
boolean v;
v := @parameter: io.netty.buffer.AbstractByteBuf;
v := @parameter: int;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v = v instanceof io.netty.util.AsciiString;
if v == 0 goto label;
staticinvoke <io.netty.buffer.ByteBufUtil: void writeAsciiString(io.netty.buffer.AbstractByteBuf,int,io.netty.util.AsciiString,int,int)>(v, v, v, 0, v);
goto label;
label:
staticinvoke <io.netty.buffer.ByteBufUtil: int writeAsciiCharSequence(io.netty.buffer.AbstractByteBuf,int,java.lang.CharSequence,int)>(v, v, v, v);
label:
return v;
}
private static int writeAsciiCharSequence(io.netty.buffer.AbstractByteBuf, int, java.lang.CharSequence, int)
{
io.netty.buffer.AbstractByteBuf v;
java.lang.CharSequence v;
char v;
byte v;
int v, v, v, v;
v := @parameter: io.netty.buffer.AbstractByteBuf;
v := @parameter: int;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v = 0;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = staticinvoke <io.netty.util.AsciiString: byte c2b(char)>(v);
virtualinvoke v.<io.netty.buffer.AbstractByteBuf: void _setByte(int,int)>(v, v);
v = v + 1;
goto label;
label:
return v;
}
public static io.netty.buffer.ByteBuf encodeString(io.netty.buffer.ByteBufAllocator, java.nio.CharBuffer, java.nio.charset.Charset)
{
io.netty.buffer.ByteBuf v;
java.nio.charset.Charset v;
java.nio.CharBuffer v;
io.netty.buffer.ByteBufAllocator v;
v := @parameter: io.netty.buffer.ByteBufAllocator;
v := @parameter: java.nio.CharBuffer;
v := @parameter: java.nio.charset.Charset;
v = staticinvoke <io.netty.buffer.ByteBufUtil: io.netty.buffer.ByteBuf encodeString0(io.netty.buffer.ByteBufAllocator,boolean,java.nio.CharBuffer,java.nio.charset.Charset,int)>(v, 0, v, v, 0);
return v;
}
public static io.netty.buffer.ByteBuf encodeString(io.netty.buffer.ByteBufAllocator, java.nio.CharBuffer, java.nio.charset.Charset, int)
{
io.netty.buffer.ByteBuf v;
java.nio.charset.Charset v;
java.nio.CharBuffer v;
io.netty.buffer.ByteBufAllocator v;
int v;
v := @parameter: io.netty.buffer.ByteBufAllocator;
v := @parameter: java.nio.CharBuffer;
v := @parameter: java.nio.charset.Charset;
v := @parameter: int;
v = staticinvoke <io.netty.buffer.ByteBufUtil: io.netty.buffer.ByteBuf encodeString0(io.netty.buffer.ByteBufAllocator,boolean,java.nio.CharBuffer,java.nio.charset.Charset,int)>(v, 0, v, v, v);
return v;
}
static io.netty.buffer.ByteBuf encodeString0(io.netty.buffer.ByteBufAllocator, boolean, java.nio.CharBuffer, java.nio.charset.Charset, int)
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
java.nio.charset.CharacterCodingException v;
io.netty.buffer.ByteBufAllocator v;
java.nio.ByteBuffer v;
java.nio.charset.CoderResult v, v;
io.netty.buffer.ByteBuf v, v;
java.nio.charset.Charset v;
int v, v, v, v, v, v, v, v, v;
boolean v, v, v;
double v;
java.nio.CharBuffer v;
java.nio.charset.CharsetEncoder v;
float v;
v := @parameter: io.netty.buffer.ByteBufAllocator;
v := @parameter: boolean;
v := @parameter: java.nio.CharBuffer;
v := @parameter: java.nio.charset.Charset;
v := @parameter: int;
v = staticinvoke <io.netty.util.CharsetUtil: java.nio.charset.CharsetEncoder encoder(java.nio.charset.Charset)>(v);
v = virtualinvoke v.<java.nio.CharBuffer: int remaining()>();
v = virtualinvoke v.<java.nio.charset.CharsetEncoder: float maxBytesPerChar()>();
v = v * v;
v = v + v;
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf heapBuffer(int)>(v);
goto label;
label:
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf buffer(int)>(v);
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteBuffer internalNioBuffer(int,int)>(v, v);
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = virtualinvoke v.<java.nio.charset.CharsetEncoder: java.nio.charset.CoderResult encode(java.nio.CharBuffer,java.nio.ByteBuffer,boolean)>(v, v, 1);
v = virtualinvoke v.<java.nio.charset.CoderResult: boolean isUnderflow()>();
if v != 0 goto label;
virtualinvoke v.<java.nio.charset.CoderResult: void throwException()>();
label:
v = virtualinvoke v.<java.nio.charset.CharsetEncoder: java.nio.charset.CoderResult flush(java.nio.ByteBuffer)>(v);
v = virtualinvoke v.<java.nio.charset.CoderResult: boolean isUnderflow()>();
if v != 0 goto label;
virtualinvoke v.<java.nio.charset.CoderResult: void throwException()>();
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int writerIndex()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v + v;
v = v - v;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writerIndex(int)>(v);
v = 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;
label:
v := @caughtexception;
virtualinvoke v.<io.netty.buffer.ByteBuf: boolean release()>();
throw v;
catch java.nio.charset.CharacterCodingException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static java.lang.String decodeString(io.netty.buffer.ByteBuf, int, int, java.nio.charset.Charset)
{
byte[] v;
io.netty.buffer.ByteBuf v;
java.nio.charset.Charset v, v;
int v, v, v, v;
java.lang.String v, v;
boolean v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.nio.charset.Charset;
if v != 0 goto label;
return "";
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean hasArray()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte[] array()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int arrayOffset()>();
v = v + v;
goto label;
label:
v = staticinvoke <io.netty.buffer.ByteBufUtil: byte[] threadLocalTempArray(int)>(v);
v = 0;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf getBytes(int,byte[],int,int)>(v, v, 0, v);
label:
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset US_ASCII>;
v = virtualinvoke v.<java.nio.charset.Charset: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(byte[],int,int,int)>(v, 0, v, v);
return v;
label:
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(byte[],int,int,java.nio.charset.Charset)>(v, v, v, v);
return v;
}
public static io.netty.buffer.ByteBuf threadLocalDirectBuffer()
{
io.netty.buffer.ByteBufUtil$ThreadLocalDirectByteBuf v;
int v;
io.netty.buffer.ByteBufUtil$ThreadLocalUnsafeDirectByteBuf v;
boolean v;
v = <io.netty.buffer.ByteBufUtil: int THREAD_LOCAL_BUFFER_SIZE>;
if v > 0 goto label;
return null;
label:
v = staticinvoke <io.netty.util.internal.PlatformDependent: boolean hasUnsafe()>();
if v == 0 goto label;
v = staticinvoke <io.netty.buffer.ByteBufUtil$ThreadLocalUnsafeDirectByteBuf: io.netty.buffer.ByteBufUtil$ThreadLocalUnsafeDirectByteBuf newInstance()>();
return v;
label:
v = staticinvoke <io.netty.buffer.ByteBufUtil$ThreadLocalDirectByteBuf: io.netty.buffer.ByteBufUtil$ThreadLocalDirectByteBuf newInstance()>();
return v;
}
public static byte[] getBytes(io.netty.buffer.ByteBuf)
{
byte[] v;
io.netty.buffer.ByteBuf v;
int v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: byte[] getBytes(io.netty.buffer.ByteBuf,int,int)>(v, v, v);
return v;
}
public static byte[] getBytes(io.netty.buffer.ByteBuf, int, int)
{
byte[] v;
io.netty.buffer.ByteBuf v;
int v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <io.netty.buffer.ByteBufUtil: byte[] getBytes(io.netty.buffer.ByteBuf,int,int,boolean)>(v, v, v, 1);
return v;
}
public static byte[] getBytes(io.netty.buffer.ByteBuf, int, int, boolean)
{
byte[] v, v, v;
java.lang.IndexOutOfBoundsException v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int capacity()>();
v = staticinvoke <io.netty.util.internal.MathUtil: boolean isOutOfBounds(int,int,int)>(v, v, v);
if v == 0 goto label;
v = new java.lang.IndexOutOfBoundsException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,int)>(v, v, 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[])>("expected: 0 <= start(\u) <= start + length(\u) <= buf.capacity(\u)");
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean hasArray()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int arrayOffset()>();
v = v + v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte[] array()>();
if v != 0 goto label;
if v != 0 goto label;
v = lengthof v;
if v == v goto label;
label:
v = v + v;
v = staticinvoke <java.util.Arrays: byte[] copyOfRange(byte[],int,int)>(v, v, v);
return v;
label:
return v;
label:
v = staticinvoke <io.netty.util.internal.PlatformDependent: byte[] allocateUninitializedArray(int)>(v);
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf getBytes(int,byte[])>(v, v);
return v;
}
public static void copy(io.netty.util.AsciiString, io.netty.buffer.ByteBuf)
{
int v;
io.netty.util.AsciiString v;
io.netty.buffer.ByteBuf v;
v := @parameter: io.netty.util.AsciiString;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.util.AsciiString: int length()>();
staticinvoke <io.netty.buffer.ByteBufUtil: void copy(io.netty.util.AsciiString,int,io.netty.buffer.ByteBuf,int)>(v, 0, v, v);
return;
}
public static void copy(io.netty.util.AsciiString, int, io.netty.buffer.ByteBuf, int, int)
{
byte[] v;
java.lang.IndexOutOfBoundsException v;
io.netty.util.AsciiString v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v, v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @parameter: io.netty.util.AsciiString;
v := @parameter: int;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<io.netty.util.AsciiString: int length()>();
v = staticinvoke <io.netty.util.internal.MathUtil: boolean isOutOfBounds(int,int,int)>(v, v, v);
if v == 0 goto label;
v = new java.lang.IndexOutOfBoundsException;
v = virtualinvoke v.<io.netty.util.AsciiString: int length()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,int)>(v, v, 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[])>("expected: 0 <= srcIdx(\u) <= srcIdx + length(\u) <= srcLen(\u)");
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "dst");
v = virtualinvoke v.<io.netty.util.AsciiString: byte[] array()>();
v = virtualinvoke v.<io.netty.util.AsciiString: int arrayOffset()>();
v = v + v;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf setBytes(int,byte[],int,int)>(v, v, v, v);
return;
}
public static void copy(io.netty.util.AsciiString, int, io.netty.buffer.ByteBuf, int)
{
byte[] v;
java.lang.IndexOutOfBoundsException v;
io.netty.util.AsciiString v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @parameter: io.netty.util.AsciiString;
v := @parameter: int;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v = virtualinvoke v.<io.netty.util.AsciiString: int length()>();
v = staticinvoke <io.netty.util.internal.MathUtil: boolean isOutOfBounds(int,int,int)>(v, v, v);
if v == 0 goto label;
v = new java.lang.IndexOutOfBoundsException;
v = virtualinvoke v.<io.netty.util.AsciiString: int length()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,int)>(v, v, 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[])>("expected: 0 <= srcIdx(\u) <= srcIdx + length(\u) <= srcLen(\u)");
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "dst");
v = virtualinvoke v.<io.netty.util.AsciiString: byte[] array()>();
v = virtualinvoke v.<io.netty.util.AsciiString: int arrayOffset()>();
v = v + v;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeBytes(byte[],int,int)>(v, v, v);
return;
}
public static java.lang.String prettyHexDump(io.netty.buffer.ByteBuf)
{
io.netty.buffer.ByteBuf v;
int v, v;
java.lang.String v;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String prettyHexDump(io.netty.buffer.ByteBuf,int,int)>(v, v, v);
return v;
}
public static java.lang.String prettyHexDump(io.netty.buffer.ByteBuf, int, int)
{
io.netty.buffer.ByteBuf v;
int v, v;
java.lang.String v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <io.netty.buffer.ByteBufUtil$HexUtil: java.lang.String prettyHexDump(io.netty.buffer.ByteBuf,int,int)>(v, v, v);
return v;
}
public static void appendPrettyHexDump(java.lang.StringBuilder, io.netty.buffer.ByteBuf)
{
io.netty.buffer.ByteBuf v;
int v, v;
java.lang.StringBuilder v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
staticinvoke <io.netty.buffer.ByteBufUtil: void appendPrettyHexDump(java.lang.StringBuilder,io.netty.buffer.ByteBuf,int,int)>(v, v, v, v);
return;
}
public static void appendPrettyHexDump(java.lang.StringBuilder, io.netty.buffer.ByteBuf, int, int)
{
io.netty.buffer.ByteBuf v;
int v, v;
java.lang.StringBuilder v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
staticinvoke <io.netty.buffer.ByteBufUtil$HexUtil: void appendPrettyHexDump(java.lang.StringBuilder,io.netty.buffer.ByteBuf,int,int)>(v, v, v, v);
return;
}
public static boolean isText(io.netty.buffer.ByteBuf, java.nio.charset.Charset)
{
io.netty.buffer.ByteBuf v;
java.nio.charset.Charset v;
int v, v;
boolean v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: java.nio.charset.Charset;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <io.netty.buffer.ByteBufUtil: boolean isText(io.netty.buffer.ByteBuf,int,int,java.nio.charset.Charset)>(v, v, v, v);
return v;
}
public static boolean isText(io.netty.buffer.ByteBuf, int, int, java.nio.charset.Charset)
{
java.lang.Throwable v;
java.lang.IndexOutOfBoundsException v;
java.nio.charset.CharacterCodingException v;
io.netty.buffer.ByteBufAllocator v;
java.nio.ByteBuffer v, v;
io.netty.buffer.ByteBuf v, v;
java.nio.charset.Charset v, v, v;
java.nio.charset.CodingErrorAction v, v;
int v, v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v, v, v;
java.nio.charset.CharsetDecoder v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.nio.charset.Charset;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "buf");
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "charset");
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = v + v;
if v < 0 goto label;
if v < 0 goto label;
v = v - v;
if v <= v goto label;
label:
v = new java.lang.IndexOutOfBoundsException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int)>(v, 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[])>("index: \u length: \u0001");
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.nio.charset.Charset: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <io.netty.buffer.ByteBufUtil: boolean isUtf8(io.netty.buffer.ByteBuf,int,int)>(v, v, v);
return v;
label:
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset US_ASCII>;
v = virtualinvoke v.<java.nio.charset.Charset: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <io.netty.buffer.ByteBufUtil: boolean isAscii(io.netty.buffer.ByteBuf,int,int)>(v, v, v);
return v;
label:
v = <java.nio.charset.CodingErrorAction: java.nio.charset.CodingErrorAction REPORT>;
v = <java.nio.charset.CodingErrorAction: java.nio.charset.CodingErrorAction REPORT>;
v = staticinvoke <io.netty.util.CharsetUtil: java.nio.charset.CharsetDecoder decoder(java.nio.charset.Charset,java.nio.charset.CodingErrorAction,java.nio.charset.CodingErrorAction)>(v, v, v);
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int nioBufferCount()>();
if v != 1 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteBuffer nioBuffer(int,int)>(v, v);
virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.CharBuffer decode(java.nio.ByteBuffer)>(v);
goto label;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBufAllocator alloc()>();
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf heapBuffer(int)>(v);
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeBytes(io.netty.buffer.ByteBuf,int,int)>(v, v, v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: java.nio.ByteBuffer internalNioBuffer(int,int)>(v, v);
virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.CharBuffer decode(java.nio.ByteBuffer)>(v);
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: boolean release()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<io.netty.buffer.ByteBuf: boolean release()>();
throw v;
label:
return 1;
label:
v := @caughtexception;
return 0;
catch java.lang.Throwable from label to label with label;
catch java.nio.charset.CharacterCodingException from label to label with label;
}
private static boolean isAscii(io.netty.buffer.ByteBuf, int, int)
{
io.netty.buffer.ByteBuf v;
int v, v, v, v;
io.netty.util.ByteProcessor v;
boolean v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v = <io.netty.buffer.ByteBufUtil: io.netty.util.ByteProcessor FIND_NON_ASCII>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int forEachByte(int,int,io.netty.util.ByteProcessor)>(v, v, v);
v = (int) -1;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isUtf8(io.netty.buffer.ByteBuf, int, int)
{
byte v, v, v, v, v, v, v, v, v;
short v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v, v, v, v, v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v = v + v;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v & 128;
if v == 0 goto label;
v = v & 224;
if v != 192 goto label;
if v < v goto label;
return 0;
label:
v = v;
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v & 192;
if v == 128 goto label;
return 0;
label:
v = v & 255;
if v >= 194 goto label;
return 0;
label:
v = v & 240;
if v != 224 goto label;
v = v - 2;
if v <= v goto label;
return 0;
label:
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v & 192;
if v != 128 goto label;
v = v & 192;
if v == 128 goto label;
label:
return 0;
label:
v = v & 15;
if v != 0 goto label;
v = v & 255;
if v >= 160 goto label;
return 0;
label:
v = v & 15;
if v != 13 goto label;
v = v & 255;
if v <= 159 goto label;
return 0;
label:
v = v & 248;
if v != 240 goto label;
v = v - 3;
if v <= v goto label;
return 0;
label:
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v & 192;
if v != 128 goto label;
v = v & 192;
if v != 128 goto label;
v = v & 192;
if v == 128 goto label;
label:
return 0;
label:
v = v & 255;
if v > 244 goto label;
v = v & 255;
if v != 240 goto label;
v = v & 255;
if v < 144 goto label;
label:
v = v & 255;
if v != 244 goto label;
v = v & 255;
if v <= 143 goto label;
label:
return 0;
label:
return 0;
label:
return 1;
}
static void readBytes(io.netty.buffer.ByteBufAllocator, java.nio.ByteBuffer, int, int, java.io.OutputStream) throws java.io.IOException
{
java.lang.Throwable v;
byte[] v, v, v;
io.netty.buffer.ByteBufAllocator v;
java.nio.ByteBuffer v, v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v;
boolean v, v;
java.io.OutputStream v;
v := @parameter: io.netty.buffer.ByteBufAllocator;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.io.OutputStream;
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasArray()>();
if v == 0 goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: byte[] array()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int arrayOffset()>();
v = v + v;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, v, v);
goto label;
label:
v = staticinvoke <java.lang.Math: int min(int,int)>(v, 8192);
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer clear()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer position(int)>(v);
if v <= 1024 goto label;
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: boolean isDirectBufferPooled()>();
if v != 0 goto label;
label:
v = staticinvoke <io.netty.buffer.ByteBufUtil: byte[] threadLocalTempArray(int)>(v);
staticinvoke <io.netty.buffer.ByteBufUtil: void getBytes(java.nio.ByteBuffer,byte[],int,int,java.io.OutputStream,int)>(v, v, 0, v, v, v);
goto label;
label:
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf heapBuffer(int)>(v);
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte[] array()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int arrayOffset()>();
staticinvoke <io.netty.buffer.ByteBufUtil: void getBytes(java.nio.ByteBuffer,byte[],int,int,java.io.OutputStream,int)>(v, v, v, v, v, v);
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: boolean release()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<io.netty.buffer.ByteBuf: boolean release()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private static void getBytes(java.nio.ByteBuffer, byte[], int, int, java.io.OutputStream, int) throws java.io.IOException
{
java.io.OutputStream v;
byte[] v;
int v, v, v, v;
java.nio.ByteBuffer v;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.io.OutputStream;
v := @parameter: int;
label:
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer get(byte[],int,int)>(v, v, v);
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, v, v);
v = v - v;
if v > 0 goto label;
return;
}
public static void setLeakListener(io.netty.util.ResourceLeakDetector$LeakListener)
{
io.netty.util.ResourceLeakDetector$LeakListener v;
io.netty.util.ResourceLeakDetector v;
v := @parameter: io.netty.util.ResourceLeakDetector$LeakListener;
v = <io.netty.buffer.AbstractByteBuf: io.netty.util.ResourceLeakDetector leakDetector>;
virtualinvoke v.<io.netty.util.ResourceLeakDetector: void setLeakListener(io.netty.util.ResourceLeakDetector$LeakListener)>(v);
return;
}
private void <init>()
{
io.netty.buffer.ByteBufUtil v;
v := @this: io.netty.buffer.ByteBufUtil;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
static void <clinit>()
{
io.netty.buffer.ByteBufUtil$1 v;
io.netty.buffer.ByteBufUtil$2 v;
java.lang.Integer v, v;
java.nio.charset.Charset v;
java.util.Locale v;
int v, v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v;
io.netty.buffer.AbstractByteBufAllocator v;
java.nio.charset.CharsetEncoder v;
io.netty.util.internal.logging.InternalLogger v, v, v, v, v, v;
float v;
java.lang.Class v;
v = class "Lio/netty/buffer/ByteBufUtil;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.netty.buffer.ByteBufUtil: boolean $assertionsDisabled> = v;
v = staticinvoke <io.netty.util.internal.logging.InternalLoggerFactory: io.netty.util.internal.logging.InternalLogger getInstance(java.lang.Class)>(class "Lio/netty/buffer/ByteBufUtil;");
<io.netty.buffer.ByteBufUtil: io.netty.util.internal.logging.InternalLogger logger> = v;
v = new io.netty.buffer.ByteBufUtil$1;
specialinvoke v.<io.netty.buffer.ByteBufUtil$1: void <init>()>();
<io.netty.buffer.ByteBufUtil: io.netty.util.concurrent.FastThreadLocal BYTE_ARRAYS> = v;
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset UTF_8>;
v = staticinvoke <io.netty.util.CharsetUtil: java.nio.charset.CharsetEncoder encoder(java.nio.charset.Charset)>(v);
v = virtualinvoke v.<java.nio.charset.CharsetEncoder: float maxBytesPerChar()>();
<io.netty.buffer.ByteBufUtil: int MAX_BYTES_PER_CHAR_UTF8> = v;
v = staticinvoke <io.netty.util.internal.PlatformDependent: boolean isAndroid()>();
if v == 0 goto label;
v = "unpooled";
goto label;
label:
v = "pooled";
label:
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: java.lang.String get(java.lang.String,java.lang.String)>("io.netty.allocator.type", v);
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = "unpooled";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <io.netty.buffer.UnpooledByteBufAllocator: io.netty.buffer.UnpooledByteBufAllocator DEFAULT>;
v = <io.netty.buffer.ByteBufUtil: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("-Dio.netty.allocator.type: {}", v);
goto label;
label:
v = "pooled";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <io.netty.buffer.PooledByteBufAllocator: io.netty.buffer.PooledByteBufAllocator DEFAULT>;
v = <io.netty.buffer.ByteBufUtil: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("-Dio.netty.allocator.type: {}", v);
goto label;
label:
v = <io.netty.buffer.PooledByteBufAllocator: io.netty.buffer.PooledByteBufAllocator DEFAULT>;
v = <io.netty.buffer.ByteBufUtil: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("-Dio.netty.allocator.type: pooled (unknown: {})", v);
label:
<io.netty.buffer.ByteBufUtil: io.netty.buffer.ByteBufAllocator DEFAULT_ALLOCATOR> = v;
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: int getInt(java.lang.String,int)>("io.netty.threadLocalDirectBufferSize", 0);
<io.netty.buffer.ByteBufUtil: int THREAD_LOCAL_BUFFER_SIZE> = v;
v = <io.netty.buffer.ByteBufUtil: io.netty.util.internal.logging.InternalLogger logger>;
v = <io.netty.buffer.ByteBufUtil: int THREAD_LOCAL_BUFFER_SIZE>;
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)>("-Dio.netty.threadLocalDirectBufferSize: {}", v);
v = staticinvoke <io.netty.util.internal.SystemPropertyUtil: int getInt(java.lang.String,int)>("io.netty.maxThreadLocalCharBufferSize", 16384);
<io.netty.buffer.ByteBufUtil: int MAX_CHAR_BUFFER_SIZE> = v;
v = <io.netty.buffer.ByteBufUtil: io.netty.util.internal.logging.InternalLogger logger>;
v = <io.netty.buffer.ByteBufUtil: int MAX_CHAR_BUFFER_SIZE>;
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)>("-Dio.netty.maxThreadLocalCharBufferSize: {}", v);
v = new io.netty.buffer.ByteBufUtil$2;
specialinvoke v.<io.netty.buffer.ByteBufUtil$2: void <init>()>();
<io.netty.buffer.ByteBufUtil: io.netty.util.ByteProcessor FIND_NON_ASCII> = v;
return;
}
}