public class oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor extends java.lang.Object implements oadd.org.apache.hadoop.io.compress.Decompressor
{
private static final org.slf4j.Logger LOG;
private static final int DEFAULT_DIRECT_BUFFER_SIZE;
private int directBufferSize;
private java.nio.Buffer compressedDirectBuf;
private int compressedDirectBufLen;
private java.nio.Buffer uncompressedDirectBuf;
private byte[] userBuf;
private int userBufOff;
private int userBufLen;
private boolean finished;
private static boolean nativeSnappyLoaded;
static final boolean $assertionsDisabled;
public static boolean isNativeCodeLoaded()
{
boolean v;
v = <oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: boolean nativeSnappyLoaded>;
return v;
}
public void <init>(int)
{
java.nio.Buffer v;
int v;
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
java.nio.ByteBuffer v, v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer compressedDirectBuf> = null;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf> = null;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: byte[] userBuf> = null;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufOff> = 0;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufLen> = 0;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize> = v;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocateDirect(int)>(v);
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer compressedDirectBuf> = v;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocateDirect(int)>(v);
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf> = v;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
virtualinvoke v.<java.nio.Buffer: java.nio.Buffer position(int)>(v);
return;
}
public void <init>()
{
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
specialinvoke v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: void <init>(int)>(65536);
return;
}
public void setInput(byte[], int, int)
{
byte[] v;
java.lang.ArrayIndexOutOfBoundsException v;
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
java.lang.NullPointerException v;
java.nio.Buffer v, v;
int v, v, v, v, v, v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>()>();
throw v;
label:
if v < 0 goto label;
if v < 0 goto label;
v = lengthof v;
v = v - v;
if v <= v goto label;
label:
v = new java.lang.ArrayIndexOutOfBoundsException;
specialinvoke v.<java.lang.ArrayIndexOutOfBoundsException: void <init>()>();
throw v;
label:
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: byte[] userBuf> = v;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufOff> = v;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufLen> = v;
virtualinvoke v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: void setInputFromSavedData()>();
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize>;
virtualinvoke v.<java.nio.Buffer: java.nio.Buffer limit(int)>(v);
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize>;
virtualinvoke v.<java.nio.Buffer: java.nio.Buffer position(int)>(v);
return;
}
void setInputFromSavedData()
{
byte[] v;
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
java.nio.Buffer v, v;
int v, v, v, v, v, v, v, v, v, v, v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufLen>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize>;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int compressedDirectBufLen> = v;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer compressedDirectBuf>;
virtualinvoke v.<java.nio.Buffer: java.nio.Buffer rewind()>();
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer compressedDirectBuf>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: byte[] userBuf>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufOff>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int compressedDirectBufLen>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(byte[],int,int)>(v, v, v);
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufOff>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int compressedDirectBufLen>;
v = v + v;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufOff> = v;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufLen>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int compressedDirectBufLen>;
v = v - v;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufLen> = v;
return;
}
public void setDictionary(byte[], int, int)
{
byte[] v;
int v, v;
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
return;
}
public boolean needsInput()
{
java.nio.Buffer v;
int v, v, v;
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
v = virtualinvoke v.<java.nio.Buffer: int remaining()>();
if v <= 0 goto label;
return 0;
label:
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int compressedDirectBufLen>;
if v > 0 goto label;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufLen>;
if v > 0 goto label;
return 1;
label:
virtualinvoke v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: void setInputFromSavedData()>();
label:
return 0;
}
public boolean needsDictionary()
{
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
return 0;
}
public boolean finished()
{
java.nio.Buffer v;
int v;
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
boolean v, v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: boolean finished>;
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
v = virtualinvoke v.<java.nio.Buffer: int remaining()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public int decompress(byte[], int, int) throws java.io.IOException
{
byte[] v;
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
java.lang.NullPointerException v;
java.nio.Buffer v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v;
java.lang.ArrayIndexOutOfBoundsException v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>()>();
throw v;
label:
if v < 0 goto label;
if v < 0 goto label;
v = lengthof v;
v = v - v;
if v <= v goto label;
label:
v = new java.lang.ArrayIndexOutOfBoundsException;
specialinvoke v.<java.lang.ArrayIndexOutOfBoundsException: void <init>()>();
throw v;
label:
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
v = virtualinvoke v.<java.nio.Buffer: int remaining()>();
if v <= 0 goto label;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer get(byte[],int,int)>(v, v, v);
return v;
label:
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int compressedDirectBufLen>;
if v <= 0 goto label;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
virtualinvoke v.<java.nio.Buffer: java.nio.Buffer rewind()>();
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize>;
virtualinvoke v.<java.nio.Buffer: java.nio.Buffer limit(int)>(v);
v = specialinvoke v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int decompressBytesDirect()>();
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
virtualinvoke v.<java.nio.Buffer: java.nio.Buffer limit(int)>(v);
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufLen>;
if v > 0 goto label;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: boolean finished> = 1;
label:
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer get(byte[],int,int)>(v, v, v);
label:
return v;
}
public int getRemaining()
{
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
return 0;
}
public void reset()
{
java.nio.Buffer v, v;
int v, v;
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: boolean finished> = 0;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int compressedDirectBufLen> = 0;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize>;
virtualinvoke v.<java.nio.Buffer: java.nio.Buffer limit(int)>(v);
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize>;
virtualinvoke v.<java.nio.Buffer: java.nio.Buffer position(int)>(v);
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufLen> = 0;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int userBufOff> = 0;
return;
}
public void end()
{
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
return;
}
private static native void initIDs();
private native int decompressBytesDirect();
int decompressDirect(java.nio.ByteBuffer, java.nio.ByteBuffer) throws java.io.IOException
{
java.lang.Throwable v;
java.lang.AssertionError v;
oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor v;
java.nio.ByteBuffer v, v, v, v;
java.nio.Buffer v, v;
int v, v, v, v, v, v, v, v;
boolean v, v;
v := @this: oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: java.nio.ByteBuffer;
v = <oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor$SnappyDirectDecompressor;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v;
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
if v <= 0 goto label;
v = v;
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer slice()>();
label:
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer compressedDirectBuf>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf>;
v = v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize>;
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer slice()>();
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer compressedDirectBuf> = v;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int compressedDirectBufLen> = v;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf> = v;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize> = v;
label:
v = specialinvoke v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int decompressBytesDirect()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v + v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.Buffer position(int)>(v);
v = virtualinvoke v.<java.nio.ByteBuffer: int limit()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.Buffer position(int)>(v);
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: boolean finished> = 1;
label:
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer compressedDirectBuf> = v;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf> = v;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int compressedDirectBufLen> = 0;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize> = v;
goto label;
label:
v := @caughtexception;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer compressedDirectBuf> = v;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: java.nio.Buffer uncompressedDirectBuf> = v;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int compressedDirectBufLen> = 0;
v.<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: int directBufferSize> = v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
java.lang.Throwable v;
org.slf4j.Logger v, v;
java.lang.Class v, v;
java.lang.String v;
boolean v, v, v, v;
v = class "Loadd/org/apache/hadoop/io/compress/snappy/SnappyDecompressor;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: boolean $assertionsDisabled> = v;
v = class "Loadd/org/apache/hadoop/io/compress/snappy/SnappyDecompressor;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.String)>(v);
<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: org.slf4j.Logger LOG> = v;
<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: boolean nativeSnappyLoaded> = 0;
v = staticinvoke <oadd.org.apache.hadoop.util.NativeCodeLoader: boolean isNativeCodeLoaded()>();
if v == 0 goto label;
v = staticinvoke <oadd.org.apache.hadoop.util.NativeCodeLoader: boolean buildSupportsSnappy()>();
if v == 0 goto label;
label:
staticinvoke <oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: void initIDs()>();
<oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: boolean nativeSnappyLoaded> = 1;
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.hadoop.io.compress.snappy.SnappyDecompressor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("failed to load SnappyDecompressor", v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
}