Skip to content

Instantly share code, notes, and snippets.

@timaschew
Created February 24, 2011 01:35
Show Gist options
  • Save timaschew/841583 to your computer and use it in GitHub Desktop.
Save timaschew/841583 to your computer and use it in GitHub Desktop.
ackermann.class
// Compiled from MyGeneratedClass1.java (version 1.1 : 45.3, super bit)
public class MyGeneratedClass1 {
// Method descriptor #8 ()V
// Stack: 1, Locals: 1
public MyGeneratedClass1();
0 aload_0 [this]
1 invokespecial java.lang.Object() [10]
4 return
Local variable table:
[pc: 0, pc: 5] local: this index: 0 type: MyGeneratedClass1
// Method descriptor #16 (DD)D
// Stack: 7, Locals: 9
public double ack(double n, double m);
0 nop
1 dload_1 [n]
2 dconst_0
3 dcmpl
4 ifne 11
7 iconst_1
8 goto 12
11 iconst_0
12 istore 5
14 iload 5
16 ifeq 23
19 iconst_0
20 goto 24
23 iconst_1
24 nop
25 ifeq 69
28 dload_3 [m]
29 dconst_0
30 dcmpl
31 ifne 38
34 iconst_1
35 goto 39
38 iconst_0
39 istore 6
41 iload 6
43 ifeq 51
46 dconst_1
47 dstore_3 [m]
48 goto 61
51 nop
52 aload_0 [this]
53 dload_1 [n]
54 dload_3 [m]
55 dconst_1
56 dsub
57 invokevirtual MyGeneratedClass1.ack(double, double) : double [18]
60 dstore_3 [m]
61 nop
62 dload_1 [n]
63 dconst_1
64 dsub
65 dstore_1 [n]
66 goto 0
69 nop
70 dload_3 [m]
71 dconst_1
72 dadd
73 dstore 7
75 dload 7
77 dreturn
Local variable table:
[pc: 0, pc: 78] local: this index: 0 type: MyGeneratedClass1
[pc: 0, pc: 78] local: n index: 1 type: double
[pc: 0, pc: 78] local: m index: 3 type: double
// Method descriptor #25 ()D
// Stack: 5, Locals: 1
public double doIt();
0 aload_0 [this]
1 ldc2_w <Double 3.0> [22]
4 ldc2_w <Double 3.0> [22]
7 invokevirtual MyGeneratedClass1.ack(double, double) : double [18]
10 dreturn
Local variable table:
[pc: 0, pc: 11] local: this index: 0 type: MyGeneratedClass1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment