Skip to content

Instantly share code, notes, and snippets.

@hiredman
Created July 23, 2014 02:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hiredman/f178a690718bde773ba0 to your computer and use it in GitHub Desktop.
Save hiredman/f178a690718bde773ba0 to your computer and use it in GitHub Desktop.
user=> (println (no.disassemble/disassemble (fn [] (loop [b 0] (recur (loop [a 1] a))))))
// Compiled from form-init3799259731606797504.clj (version 1.5 : 49.0, super bit)
public final class user$eval1692$fn__1693 extends clojure.lang.AFunction {
// Field descriptor #7 Ljava/lang/Object;
public static final java.lang.Object const__0;
// Method descriptor #9 ()V
// Stack: 2, Locals: 0
public static {};
0 lconst_0
1 invokestatic java.lang.Long.valueOf(long) : java.lang.Long [15]
4 putstatic user$eval1692$fn__1693.const__0 : java.lang.Object [17]
7 return
Line numbers:
[pc: 0, line: 1]
// Method descriptor #9 ()V
// Stack: 1, Locals: 1
public user$eval1692$fn__1693();
0 aload_0 [this]
1 invokespecial clojure.lang.AFunction() [20]
4 return
Line numbers:
[pc: 0, line: 1]
// Method descriptor #22 ()Ljava/lang/Object;
// Stack: 2, Locals: 2
public java.lang.Object invoke();
0 lconst_0
1 invokestatic clojure.lang.RT.box(long) : java.lang.Number [28]
4 astore_1 [b]
5 new user$eval1692$fn__1693$fn__1696 [30]
8 dup
9 invokespecial user$eval1692$fn__1693$fn__1696() [31]
12 checkcast clojure.lang.IFn [33]
15 invokeinterface clojure.lang.IFn.invoke() : java.lang.Object [35] [nargs: 1]
20 astore_1 [b]
21 goto 5
24 areturn
Line numbers:
[pc: 0, line: 1]
[pc: 0, line: 0]
[pc: 5, line: 1]
Local variable table:
[pc: 5, pc: 24] local: b index: 1 type: java.lang.Object
[pc: 0, pc: 24] local: this index: 0 type: java.lang.Object
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment