public abstract class test.BasePerfTest
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: test.BasePerfTest
super_class: java.lang.Object
{
static final int DEFAULT_SECS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 15
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ltest/BasePerfTest;
protected final int test(java.lang.String[]);
descriptor: ([Ljava/lang/String;)I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
arraylength
iconst_1
if_icmpeq 3
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Usage: java ... "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " [file]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: iconst_1
invokestatic java.lang.System.exit:(I)V
3: StackMap locals:
StackMap stack:
aload 0
new java.io.File
dup
aload 1
iconst_0
aaload
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
bipush 15
invokevirtual test.BasePerfTest.test2:(Ljava/io/File;I)I
istore 2
start local 2 4: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Total: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: iload 2
7: ireturn
end local 2 8: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 9: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: aload 2
invokevirtual java.lang.Exception.printStackTrace:()V
11: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ltest/BasePerfTest;
0 12 1 args [Ljava/lang/String;
4 8 2 total I
9 12 2 t Ljava/lang/Exception;
Exception table:
from to target type
3 7 8 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
protected final int test2(java.io.File, int);
descriptor: (Ljava/io/File;I)I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=13, args_size=3
start local 0 start local 1 start local 2 0: ldc 100
invokestatic java.lang.Thread.sleep:(J)V
1: goto 3
StackMap locals:
StackMap stack: java.lang.InterruptedException
2: pop
3: StackMap locals:
StackMap stack:
invokestatic java.lang.System.gc:()V
4: ldc 100
invokestatic java.lang.Thread.sleep:(J)V
5: goto 7
StackMap locals:
StackMap stack: java.lang.InterruptedException
6: pop
7: StackMap locals:
StackMap stack:
invokestatic java.lang.System.gc:()V
8: ldc 100
invokestatic java.lang.Thread.sleep:(J)V
9: goto 11
StackMap locals:
StackMap stack: java.lang.InterruptedException
10: pop
11: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Ok, warmup done. Now doing real testing, running for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " seconds."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: invokestatic java.lang.System.currentTimeMillis:()J
lstore 3
start local 3 13: lload 3
iload 2
sipush 1000
imul
i2l
ladd
lstore 5
start local 5 14: iconst_0
istore 7
start local 7 15: iconst_0
istore 8
start local 8 16: iconst_0
istore 9
start local 9 17: lload 3
ldc 1000
ladd
lstore 3
18: StackMap locals: test.BasePerfTest java.io.File int long long int int int
StackMap stack:
iload 8
aload 0
aload 1
invokevirtual test.BasePerfTest.testExec:(Ljava/io/File;)I
iadd
istore 8
19: iload 8
aload 0
aload 1
invokevirtual test.BasePerfTest.testExec:(Ljava/io/File;)I
iadd
istore 8
20: invokestatic java.lang.System.currentTimeMillis:()J
lstore 10
start local 10 21: lload 10
lload 5
lcmp
ifle 23
22: goto 40
23: StackMap locals: long
StackMap stack:
iinc 9 2
24: lload 10
lload 3
lcmp
ifle 18
25: iload 7
iload 9
iadd
istore 7
26: iload 9
iconst_1
ishr
iconst_1
isub
istore 9
27: iload 9
bipush 35
if_icmple 30
28: bipush 43
istore 12
start local 12 29: goto 34
end local 12 StackMap locals:
StackMap stack:
30: iload 9
bipush 9
if_icmple 33
31: bipush 97
iload 9
bipush 10
isub
iadd
i2c
istore 12
start local 12 32: goto 34
end local 12 33: StackMap locals:
StackMap stack:
bipush 48
iload 9
iadd
i2c
istore 12
start local 12 34: StackMap locals: int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
iload 12
invokevirtual java.io.PrintStream.print:(C)V
35: lload 3
ldc 1000
ladd
lstore 3
36: lload 3
lload 10
lcmp
ifge 38
37: lload 10
lstore 3
38: StackMap locals:
StackMap stack:
iconst_0
istore 9
end local 12 end local 10 39: goto 18
40: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Total iterations done: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " [done "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
41: iload 8
ireturn
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 42 0 this Ltest/BasePerfTest;
0 42 1 file Ljava/io/File;
0 42 2 SECS I
13 42 3 nextTime J
14 42 5 endTime J
15 42 7 count I
16 42 8 total I
17 42 9 subtotal I
21 39 10 now J
29 30 12 c C
32 33 12 c C
34 39 12 c C
Exception table:
from to target type
0 1 2 Class java.lang.InterruptedException
4 5 6 Class java.lang.InterruptedException
8 9 10 Class java.lang.InterruptedException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
file
SECS
protected abstract int testExec(java.io.File);
descriptor: (Ljava/io/File;)I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
file
}
SourceFile: "BasePerfTest.java"