Created
January 4, 2017 22:39
-
-
Save amalloy/9e70f4c0c8ebb491e43a42a95717f7bf to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
user> (println (disassemble-str (fn [ss] | |
(loop [coll (seq ss)] | |
(when coll | |
(println (first coll)) | |
(recur (next coll))))))) | |
public final class user$eval2412$fn__2413 extends clojure.lang.AFunction { | |
// elided for brevity... | |
public java.lang.Object invoke(java.lang.Object ss); | |
0 getstatic user$eval2412$fn__2413.const__0 : clojure.lang.Var [15] | |
3 invokevirtual clojure.lang.Var.getRawRoot() : java.lang.Object [21] | |
6 checkcast clojure.lang.IFn [23] | |
9 aload_1 [ss] | |
10 aconst_null | |
11 astore_1 [ss] | |
12 invokeinterface clojure.lang.IFn.invoke(java.lang.Object) : java.lang.Object [25] [nargs: 2] | |
17 astore_2 [coll] | |
18 aload_2 [coll] | |
19 dup | |
20 ifnull 83 | |
23 getstatic java.lang.Boolean.FALSE : java.lang.Boolean [31] | |
26 if_acmpeq 84 | |
29 getstatic user$eval2412$fn__2413.const__1 : clojure.lang.Var [34] | |
32 invokevirtual clojure.lang.Var.getRawRoot() : java.lang.Object [21] | |
35 checkcast clojure.lang.IFn [23] | |
38 getstatic user$eval2412$fn__2413.const__2 : clojure.lang.Var [37] | |
41 invokevirtual clojure.lang.Var.getRawRoot() : java.lang.Object [21] | |
44 checkcast clojure.lang.IFn [23] | |
47 aload_2 [coll] | |
48 invokeinterface clojure.lang.IFn.invoke(java.lang.Object) : java.lang.Object [25] [nargs: 2] | |
53 invokeinterface clojure.lang.IFn.invoke(java.lang.Object) : java.lang.Object [25] [nargs: 2] | |
58 pop | |
59 getstatic user$eval2412$fn__2413.const__3 : clojure.lang.Var [40] | |
62 invokevirtual clojure.lang.Var.getRawRoot() : java.lang.Object [21] | |
65 checkcast clojure.lang.IFn [23] | |
68 aload_2 [coll] | |
69 aconst_null | |
70 astore_2 [coll] | |
71 invokeinterface clojure.lang.IFn.invoke(java.lang.Object) : java.lang.Object [25] [nargs: 2] | |
76 astore_2 [coll] | |
77 goto 18 | |
80 goto 85 | |
83 pop | |
84 aconst_null | |
85 areturn | |
Line numbers: | |
[pc: 0, line: 1] | |
[pc: 6, line: 1] | |
[pc: 12, line: 1] | |
[pc: 18, line: 1] | |
[pc: 35, line: 1] | |
[pc: 44, line: 1] | |
[pc: 48, line: 1] | |
[pc: 53, line: 1] | |
[pc: 65, line: 1] | |
[pc: 71, line: 1] | |
Local variable table: | |
[pc: 18, pc: 85] local: coll index: 2 type: java.lang.Object | |
[pc: 0, pc: 85] local: this index: 0 type: java.lang.Object | |
[pc: 0, pc: 85] local: ss index: 1 type: java.lang.Object | |
// elided for brevity... | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment