class com.sun.java.util.jar.pack.NativeUnpack
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.java.util.jar.pack.NativeUnpack
super_class: java.lang.Object
{
private long unpackerPtr;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.io.BufferedInputStream in;
descriptor: Ljava/io/BufferedInputStream;
flags: (0x0002) ACC_PRIVATE
private int _verbose;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long _byteCount;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int _segCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _fileCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long _estByteLimit;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int _estSegLimit;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _estFileLimit;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _prevPercent;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.zip.CRC32 _crc32;
descriptor: Ljava/util/zip/CRC32;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private byte[] _buf;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private com.sun.java.util.jar.pack.UnpackerImpl _p200;
descriptor: Lcom/sun/java/util/jar/pack/UnpackerImpl;
flags: (0x0002) ACC_PRIVATE
private com.sun.java.util.jar.pack.PropMap _props;
descriptor: Lcom/sun/java/util/jar/pack/PropMap;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lcom/sun/java/util/jar/pack/NativeUnpack;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.sun.java.util.jar.pack.NativeUnpack.$assertionsDisabled:Z
3: new com.sun.java.util.jar.pack.NativeUnpack$1
dup
invokespecial com.sun.java.util.jar.pack.NativeUnpack$1.<init>:()V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
5: invokestatic com.sun.java.util.jar.pack.NativeUnpack.initIDs:()V
6: return
LocalVariableTable:
Start End Slot Name Signature
private static synchronized native void initIDs();
descriptor: ()V
flags: (0x012a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED, ACC_NATIVE
private synchronized native long start(java.nio.ByteBuffer, long);
descriptor: (Ljava/nio/ByteBuffer;J)J
flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
MethodParameters:
Name Flags
buf
offset
private synchronized native boolean getNextFile(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Z
flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
MethodParameters:
Name Flags
parts
private synchronized native java.nio.ByteBuffer getUnusedInput();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
private synchronized native long finish();
descriptor: ()J
flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
protected synchronized native boolean setOption(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0124) ACC_PROTECTED, ACC_SYNCHRONIZED, ACC_NATIVE
MethodParameters:
Name Flags
opt
value
protected synchronized native java.lang.String getOption(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0124) ACC_PROTECTED, ACC_SYNCHRONIZED, ACC_NATIVE
MethodParameters:
Name Flags
opt
void <init>(com.sun.java.util.jar.pack.UnpackerImpl);
descriptor: (Lcom/sun/java/util/jar/pack/UnpackerImpl;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield com.sun.java.util.jar.pack.NativeUnpack._prevPercent:I
2: aload 0
new java.util.zip.CRC32
dup
invokespecial java.util.zip.CRC32.<init>:()V
putfield com.sun.java.util.jar.pack.NativeUnpack._crc32:Ljava/util/zip/CRC32;
3: aload 0
sipush 16384
newarray 8
putfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
4: aload 0
aload 1
putfield com.sun.java.util.jar.pack.NativeUnpack._p200:Lcom/sun/java/util/jar/pack/UnpackerImpl;
5: aload 0
aload 1
getfield com.sun.java.util.jar.pack.UnpackerImpl.props:Lcom/sun/java/util/jar/pack/PropMap;
putfield com.sun.java.util.jar.pack.NativeUnpack._props:Lcom/sun/java/util/jar/pack/PropMap;
6: aload 1
aload 0
putfield com.sun.java.util.jar.pack.UnpackerImpl._nunp:Ljava/lang/Object;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/java/util/jar/pack/NativeUnpack;
0 8 1 p200 Lcom/sun/java/util/jar/pack/UnpackerImpl;
MethodParameters:
Name Flags
p200
private static java.lang.Object currentInstance();
descriptor: ()Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: invokestatic com.sun.java.util.jar.pack.Utils.getTLGlobals:()Lcom/sun/java/util/jar/pack/TLGlobals;
checkcast com.sun.java.util.jar.pack.UnpackerImpl
astore 0
start local 0 1: aload 0
ifnonnull 2
aconst_null
goto 3
StackMap locals: com.sun.java.util.jar.pack.UnpackerImpl
StackMap stack:
2: aload 0
getfield com.sun.java.util.jar.pack.UnpackerImpl._nunp:Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 p200 Lcom/sun/java/util/jar/pack/UnpackerImpl;
private synchronized long getUnpackerPtr();
descriptor: ()J
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack.unpackerPtr:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/NativeUnpack;
private long readInputFn(java.nio.ByteBuffer, long);
descriptor: (Ljava/nio/ByteBuffer;J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack.in:Ljava/io/BufferedInputStream;
ifnonnull 1
lconst_0
lreturn
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.capacity:()I
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
isub
i2l
lstore 4
start local 4 2: getstatic com.sun.java.util.jar.pack.NativeUnpack.$assertionsDisabled:Z
ifne 3
lload 2
lload 4
lcmp
ifle 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: long
StackMap stack:
lconst_0
lstore 6
start local 6 4: iconst_0
istore 8
start local 8 5: goto 15
6: StackMap locals: long int
StackMap stack:
iinc 8 1
7: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
arraylength
istore 9
start local 9 8: iload 9
i2l
lload 4
lload 6
lsub
lcmp
ifle 10
9: lload 4
lload 6
lsub
l2i
istore 9
10: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack.in:Ljava/io/BufferedInputStream;
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
iconst_0
iload 9
invokevirtual java.io.BufferedInputStream.read:([BII)I
istore 10
start local 10 11: iload 10
ifgt 12
goto 16
12: StackMap locals: int
StackMap stack:
lload 6
iload 10
i2l
ladd
lstore 6
13: getstatic com.sun.java.util.jar.pack.NativeUnpack.$assertionsDisabled:Z
ifne 14
lload 6
lload 4
lcmp
ifle 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
iconst_0
iload 10
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
end local 10 end local 9 15: StackMap locals:
StackMap stack:
lload 6
lload 2
lcmp
iflt 6
16: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._verbose:I
iconst_1
if_icmple 18
17: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "readInputFn("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ") => "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 6
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " steps="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
lload 4
ldc 100
lcmp
ifle 21
19: aload 0
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._byteCount:J
lload 4
ladd
putfield com.sun.java.util.jar.pack.NativeUnpack._estByteLimit:J
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._byteCount:J
lload 6
ladd
ldc 20
lmul
putfield com.sun.java.util.jar.pack.NativeUnpack._estByteLimit:J
22: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.java.util.jar.pack.NativeUnpack._byteCount:J
lload 6
ladd
putfield com.sun.java.util.jar.pack.NativeUnpack._byteCount:J
23: aload 0
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.updateProgress:()V
24: lload 6
lreturn
end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/java/util/jar/pack/NativeUnpack;
0 25 1 pbuf Ljava/nio/ByteBuffer;
0 25 2 minlen J
2 25 4 maxlen J
4 25 6 numread J
5 25 8 steps I
8 15 9 readlen I
11 15 10 nr I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
pbuf
minlen
private void updateProgress();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._segCount:I
i2d
dstore 1
start local 1 1: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._estByteLimit:J
lconst_0
lcmp
ifle 3
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._byteCount:J
lconst_0
lcmp
ifle 3
2: dload 1
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._byteCount:J
l2d
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._estByteLimit:J
l2d
ddiv
dadd
dstore 1
3: StackMap locals: double
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._fileCount:I
i2d
dstore 3
start local 3 4: ldc 0.33
dload 1
dmul
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._estSegLimit:I
iconst_1
invokestatic java.lang.Math.max:(II)I
i2d
ddiv
5: ldc 0.67
dload 3
dmul
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._estFileLimit:I
iconst_1
invokestatic java.lang.Math.max:(II)I
i2d
ddiv
6: dadd
7: dstore 5
start local 5 8: ldc 100.0
dload 5
dmul
invokestatic java.lang.Math.round:(D)J
l2i
istore 7
start local 7 9: iload 7
bipush 100
if_icmple 10
bipush 100
istore 7
10: StackMap locals: double double int
StackMap stack:
iload 7
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._prevPercent:I
if_icmple 15
11: aload 0
iload 7
putfield com.sun.java.util.jar.pack.NativeUnpack._prevPercent:I
12: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._props:Lcom/sun/java/util/jar/pack/PropMap;
ldc "unpack.progress"
iload 7
invokevirtual com.sun.java.util.jar.pack.PropMap.setInteger:(Ljava/lang/String;I)I
pop
13: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._verbose:I
ifle 15
14: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "progress = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.info:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/java/util/jar/pack/NativeUnpack;
1 16 1 readProgress D
4 16 3 writeProgress D
8 16 5 scaledProgress D
9 16 7 percent I
private void copyInOption(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._props:Lcom/sun/java/util/jar/pack/PropMap;
aload 1
invokevirtual com.sun.java.util.jar.pack.PropMap.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._verbose:I
ifle 3
2: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "set "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.info:(Ljava/lang/String;)V
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
ifnull 7
4: aload 0
aload 1
aload 2
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.setOption:(Ljava/lang/String;Ljava/lang/String;)Z
istore 3
start local 3 5: iload 3
ifne 7
6: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Invalid option "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.warning:(Ljava/lang/String;)V
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/java/util/jar/pack/NativeUnpack;
0 8 1 opt Ljava/lang/String;
1 8 2 val Ljava/lang/String;
5 7 3 set Z
MethodParameters:
Name Flags
opt
void run(java.io.InputStream, java.util.jar.JarOutputStream, java.nio.ByteBuffer);
descriptor: (Ljava/io/InputStream;Ljava/util/jar/JarOutputStream;Ljava/nio/ByteBuffer;)V
flags: (0x0000)
Code:
stack=10, locals=22, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.io.BufferedInputStream
dup
aload 1
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 4
start local 4 1: aload 0
aload 4
putfield com.sun.java.util.jar.pack.NativeUnpack.in:Ljava/io/BufferedInputStream;
2: aload 0
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._props:Lcom/sun/java/util/jar/pack/PropMap;
ldc "com.sun.java.util.jar.pack.verbose"
invokevirtual com.sun.java.util.jar.pack.PropMap.getInteger:(Ljava/lang/String;)I
putfield com.sun.java.util.jar.pack.NativeUnpack._verbose:I
3: ldc "keep"
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._props:Lcom/sun/java/util/jar/pack/PropMap;
ldc "com.sun.java.util.jar.pack.unpack.modification.time"
ldc "0"
invokevirtual com.sun.java.util.jar.pack.PropMap.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_0
goto 6
StackMap locals: java.io.BufferedInputStream
StackMap stack:
5: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._props:Lcom/sun/java/util/jar/pack/PropMap;
ldc "com.sun.java.util.jar.pack.unpack.modification.time"
invokevirtual com.sun.java.util.jar.pack.PropMap.getTime:(Ljava/lang/String;)I
6: StackMap locals:
StackMap stack: int
istore 5
start local 5 7: aload 0
ldc "com.sun.java.util.jar.pack.verbose"
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.copyInOption:(Ljava/lang/String;)V
8: aload 0
ldc "unpack.deflate.hint"
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.copyInOption:(Ljava/lang/String;)V
9: iload 5
ifne 11
10: aload 0
ldc "com.sun.java.util.jar.pack.unpack.modification.time"
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.copyInOption:(Ljava/lang/String;)V
11: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.updateProgress:()V
12: StackMap locals:
StackMap stack:
aload 0
aload 3
lconst_0
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.start:(Ljava/nio/ByteBuffer;J)J
lstore 6
start local 6 13: aload 0
aload 0
lconst_0
dup2_x1
putfield com.sun.java.util.jar.pack.NativeUnpack._estByteLimit:J
putfield com.sun.java.util.jar.pack.NativeUnpack._byteCount:J
14: aload 0
dup
getfield com.sun.java.util.jar.pack.NativeUnpack._segCount:I
iconst_1
iadd
putfield com.sun.java.util.jar.pack.NativeUnpack._segCount:I
15: lload 6
bipush 32
lushr
l2i
istore 8
start local 8 16: lload 6
iconst_0
lushr
l2i
istore 9
start local 9 17: aload 0
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._segCount:I
iload 8
iadd
putfield com.sun.java.util.jar.pack.NativeUnpack._estSegLimit:I
18: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._fileCount:I
iload 9
iadd
i2d
dstore 10
start local 10 19: aload 0
dload 10
20: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._estSegLimit:I
i2d
dmul
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._segCount:I
i2d
ddiv
d2i
21: putfield com.sun.java.util.jar.pack.NativeUnpack._estFileLimit:I
22: iconst_4
newarray 10
astore 12
start local 12 23: iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 12
aastore
astore 13
start local 13 24: goto 43
25: StackMap locals: com.sun.java.util.jar.pack.NativeUnpack java.io.InputStream java.util.jar.JarOutputStream java.nio.ByteBuffer java.io.BufferedInputStream int long int int double int[] java.lang.Object[]
StackMap stack:
aload 13
iconst_1
aaload
checkcast java.lang.String
astore 14
start local 14 26: aload 12
iconst_0
iaload
i2l
bipush 32
lshl
27: aload 12
iconst_1
iaload
i2l
bipush 32
lshl
bipush 32
lushr
28: ladd
lstore 15
start local 15 29: iload 5
ifeq 31
30: iload 5
goto 32
StackMap locals: java.lang.String long
StackMap stack:
31: aload 12
iconst_2
iaload
32: StackMap locals:
StackMap stack: int
i2l
lstore 17
start local 17 33: aload 12
iconst_3
iaload
ifeq 34
iconst_1
goto 35
StackMap locals: long
StackMap stack:
34: iconst_0
StackMap locals:
StackMap stack: int
35: istore 19
start local 19 36: aload 13
iconst_2
aaload
checkcast java.nio.ByteBuffer
astore 20
start local 20 37: aload 13
iconst_3
aaload
checkcast java.nio.ByteBuffer
astore 21
start local 21 38: aload 0
aload 2
aload 14
lload 17
lload 15
iload 19
39: aload 20
aload 21
40: invokevirtual com.sun.java.util.jar.pack.NativeUnpack.writeEntry:(Ljava/util/jar/JarOutputStream;Ljava/lang/String;JJZLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
41: aload 0
dup
getfield com.sun.java.util.jar.pack.NativeUnpack._fileCount:I
iconst_1
iadd
putfield com.sun.java.util.jar.pack.NativeUnpack._fileCount:I
42: aload 0
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.updateProgress:()V
end local 21 end local 20 end local 19 end local 17 end local 15 end local 14 43: StackMap locals:
StackMap stack:
aload 0
aload 13
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.getNextFile:([Ljava/lang/Object;)Z
ifne 25
44: aload 0
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.getUnusedInput:()Ljava/nio/ByteBuffer;
astore 3
45: aload 0
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.finish:()J
lstore 14
start local 14 46: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._verbose:I
ifle 48
47: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "bytes consumed = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 14
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.info:(Ljava/lang/String;)V
48: StackMap locals: long
StackMap stack:
aload 3
ifnonnull 51
49: aload 4
invokestatic com.sun.java.util.jar.pack.Utils.readMagic:(Ljava/io/BufferedInputStream;)[B
invokestatic com.sun.java.util.jar.pack.Utils.isPackMagic:([B)Z
ifne 51
50: goto 55
51: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._verbose:I
ifle 12
52: aload 3
ifnull 12
53: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "unused input = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.info:(Ljava/lang/String;)V
end local 14 end local 13 end local 12 end local 10 end local 9 end local 8 end local 6 54: goto 12
55: StackMap locals: com.sun.java.util.jar.pack.NativeUnpack java.io.InputStream java.util.jar.JarOutputStream java.nio.ByteBuffer java.io.BufferedInputStream int
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lcom/sun/java/util/jar/pack/NativeUnpack;
0 56 1 inRaw Ljava/io/InputStream;
0 56 2 jstream Ljava/util/jar/JarOutputStream;
0 56 3 presetInput Ljava/nio/ByteBuffer;
1 56 4 in0 Ljava/io/BufferedInputStream;
7 56 5 modtime I
13 54 6 counts J
16 54 8 nextSeg I
17 54 9 nextFile I
19 54 10 filesAfterThisSeg D
23 54 12 intParts [I
24 54 13 parts [Ljava/lang/Object;
26 43 14 name Ljava/lang/String;
29 43 15 size J
33 43 17 mtime J
36 43 19 deflateHint Z
37 43 20 data0 Ljava/nio/ByteBuffer;
38 43 21 data1 Ljava/nio/ByteBuffer;
46 54 14 consumed J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
inRaw
jstream
presetInput
void run(java.io.InputStream, java.util.jar.JarOutputStream);
descriptor: (Ljava/io/InputStream;Ljava/util/jar/JarOutputStream;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.run:(Ljava/io/InputStream;Ljava/util/jar/JarOutputStream;Ljava/nio/ByteBuffer;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/NativeUnpack;
0 2 1 in Ljava/io/InputStream;
0 2 2 jstream Ljava/util/jar/JarOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
jstream
void run(java.io.File, java.util.jar.JarOutputStream);
descriptor: (Ljava/io/File;Ljava/util/jar/JarOutputStream;)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
aconst_null
astore 5
2: new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 6
start local 6 3: aload 0
aload 6
aload 2
aload 3
invokevirtual com.sun.java.util.jar.pack.NativeUnpack.run:(Ljava/io/InputStream;Ljava/util/jar/JarOutputStream;Ljava/nio/ByteBuffer;)V
4: aload 6
ifnull 10
aload 6
invokevirtual java.io.FileInputStream.close:()V
goto 10
StackMap locals: com.sun.java.util.jar.pack.NativeUnpack java.io.File java.util.jar.JarOutputStream java.nio.ByteBuffer java.lang.Throwable java.lang.Throwable java.io.FileInputStream
StackMap stack: java.lang.Throwable
5: astore 4
aload 6
ifnull 6
aload 6
invokevirtual java.io.FileInputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
6: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 5
aload 4
ifnonnull 8
aload 5
astore 4
goto 9
StackMap locals:
StackMap stack:
8: aload 4
aload 5
if_acmpeq 9
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 4
athrow
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/java/util/jar/pack/NativeUnpack;
0 11 1 inFile Ljava/io/File;
0 11 2 jstream Ljava/util/jar/JarOutputStream;
1 11 3 mappedFile Ljava/nio/ByteBuffer;
3 6 6 fis Ljava/io/FileInputStream;
Exception table:
from to target type
3 4 5 any
2 7 7 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
inFile
jstream
private void writeEntry(java.util.jar.JarOutputStream, java.lang.String, long, long, boolean, java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/util/jar/JarOutputStream;Ljava/lang/String;JJZLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 5 start local 7 start local 8 start local 9 0: lload 5
l2i
istore 10
start local 10 1: iload 10
i2l
lload 5
lcmp
ifeq 3
2: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "file too large: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 5
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._crc32:Ljava/util/zip/CRC32;
astore 11
start local 11 4: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._verbose:I
iconst_1
if_icmple 10
5: getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Writing entry: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " size="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
6: iload 7
ifeq 7
ldc " deflated"
goto 8
StackMap locals: com.sun.java.util.jar.pack.NativeUnpack java.util.jar.JarOutputStream java.lang.String long long int java.nio.ByteBuffer java.nio.ByteBuffer int java.util.zip.CRC32
StackMap stack: com.sun.java.util.jar.pack.Utils$Pack200Logger java.lang.StringBuilder
7: ldc ""
StackMap locals: com.sun.java.util.jar.pack.NativeUnpack java.util.jar.JarOutputStream java.lang.String long long int java.nio.ByteBuffer java.nio.ByteBuffer int java.util.zip.CRC32
StackMap stack: com.sun.java.util.jar.pack.Utils$Pack200Logger java.lang.StringBuilder java.lang.String
8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
arraylength
iload 10
if_icmpge 19
11: iload 10
istore 12
start local 12 12: goto 17
13: StackMap locals: int
StackMap stack:
iload 12
iconst_1
ishl
istore 12
14: iload 12
ifgt 17
15: iload 10
istore 12
16: goto 18
17: StackMap locals:
StackMap stack:
iload 12
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
arraylength
if_icmplt 13
18: StackMap locals:
StackMap stack:
aload 0
iload 12
newarray 8
putfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
end local 12 19: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.NativeUnpack.$assertionsDisabled:Z
ifne 20
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
arraylength
iload 10
if_icmpge 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 21: aload 8
ifnull 25
22: aload 8
invokevirtual java.nio.ByteBuffer.capacity:()I
istore 13
start local 13 23: aload 8
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
iload 12
iload 13
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
24: iload 12
iload 13
iadd
istore 12
end local 13 25: StackMap locals: int
StackMap stack:
aload 9
ifnull 33
26: aload 9
invokevirtual java.nio.ByteBuffer.capacity:()I
istore 13
start local 13 27: aload 9
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
iload 12
iload 13
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
28: iload 12
iload 13
iadd
istore 12
end local 13 29: goto 33
30: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack.in:Ljava/io/BufferedInputStream;
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
iload 12
iload 10
iload 12
isub
invokevirtual java.io.BufferedInputStream.read:([BII)I
istore 13
start local 13 31: iload 13
ifgt 32
new java.io.IOException
dup
ldc "EOF at end of archive"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals: int
StackMap stack:
iload 12
iload 13
iadd
istore 12
end local 13 33: StackMap locals:
StackMap stack:
iload 12
iload 10
if_icmplt 30
34: new java.util.zip.ZipEntry
dup
aload 2
invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
astore 13
start local 13 35: aload 13
lload 3
ldc 1000
lmul
invokevirtual java.util.zip.ZipEntry.setTime:(J)V
36: iload 10
ifne 42
37: aload 13
iconst_0
invokevirtual java.util.zip.ZipEntry.setMethod:(I)V
38: aload 13
lconst_0
invokevirtual java.util.zip.ZipEntry.setSize:(J)V
39: aload 13
lconst_0
invokevirtual java.util.zip.ZipEntry.setCrc:(J)V
40: aload 13
lconst_0
invokevirtual java.util.zip.ZipEntry.setCompressedSize:(J)V
41: goto 52
StackMap locals: java.util.zip.ZipEntry
StackMap stack:
42: iload 7
ifne 50
43: aload 13
iconst_0
invokevirtual java.util.zip.ZipEntry.setMethod:(I)V
44: aload 13
iload 10
i2l
invokevirtual java.util.zip.ZipEntry.setSize:(J)V
45: aload 13
iload 10
i2l
invokevirtual java.util.zip.ZipEntry.setCompressedSize:(J)V
46: aload 11
invokevirtual java.util.zip.CRC32.reset:()V
47: aload 11
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
iconst_0
iload 10
invokevirtual java.util.zip.CRC32.update:([BII)V
48: aload 13
aload 11
invokevirtual java.util.zip.CRC32.getValue:()J
invokevirtual java.util.zip.ZipEntry.setCrc:(J)V
49: goto 52
50: StackMap locals:
StackMap stack:
aload 13
bipush 8
invokevirtual java.util.zip.ZipEntry.setMethod:(I)V
51: aload 13
iload 10
i2l
invokevirtual java.util.zip.ZipEntry.setSize:(J)V
52: StackMap locals:
StackMap stack:
aload 1
aload 13
invokevirtual java.util.jar.JarOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
53: iload 10
ifle 55
54: aload 1
aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._buf:[B
iconst_0
iload 10
invokevirtual java.util.jar.JarOutputStream.write:([BII)V
55: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.jar.JarOutputStream.closeEntry:()V
56: aload 0
getfield com.sun.java.util.jar.pack.NativeUnpack._verbose:I
ifle 57
getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
new java.lang.StringBuilder
dup
ldc "Writing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokestatic com.sun.java.util.jar.pack.Utils.zeString:(Ljava/util/zip/ZipEntry;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.info:(Ljava/lang/String;)V
57: StackMap locals:
StackMap stack:
return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lcom/sun/java/util/jar/pack/NativeUnpack;
0 58 1 j Ljava/util/jar/JarOutputStream;
0 58 2 name Ljava/lang/String;
0 58 3 mtime J
0 58 5 lsize J
0 58 7 deflateHint Z
0 58 8 data0 Ljava/nio/ByteBuffer;
0 58 9 data1 Ljava/nio/ByteBuffer;
1 58 10 size I
4 58 11 crc32 Ljava/util/zip/CRC32;
12 19 12 newSize I
21 58 12 fillp I
23 25 13 size0 I
27 29 13 size1 I
31 33 13 nr I
35 58 13 z Ljava/util/zip/ZipEntry;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
j
name
mtime
lsize
deflateHint
data0
data1
}
SourceFile: "NativeUnpack.java"
NestMembers:
com.sun.java.util.jar.pack.NativeUnpack$1
InnerClasses:
com.sun.java.util.jar.pack.NativeUnpack$1
Pack200Logger = com.sun.java.util.jar.pack.Utils$Pack200Logger of com.sun.java.util.jar.pack.Utils