Last active
February 22, 2016 08:12
-
-
Save killme2008/b0d88de0a08df8bf7ca3 to your computer and use it in GitHub Desktop.
Invoke function bytecode without direct-linking in clojure 1.8
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
| (-> 1 double square) | |
| public final class user$eval5993 extends clojure/lang/AFunction { | |
| // compiled from: NO_SOURCE_FILE | |
| // debug info: SMAP | |
| NO_SOURCE_FILE.java | |
| Clojure | |
| *S Clojure | |
| *F | |
| + 1 NO_SOURCE_FILE | |
| NO_SOURCE_PATH | |
| *L | |
| 0#1,1:0 | |
| *E | |
| // access flags 0x1 | |
| public <init>()V | |
| L0 | |
| LINENUMBER 11 L0 | |
| L1 | |
| ALOAD 0 | |
| INVOKESPECIAL clojure/lang/AFunction.<init> ()V | |
| L2 | |
| RETURN | |
| MAXSTACK = 0 | |
| MAXLOCALS = 0 | |
| // access flags 0x9 | |
| public static invokeStatic()Ljava/lang/Object; | |
| L0 | |
| LINENUMBER 11 L0 | |
| GETSTATIC user$eval5993.const__0 : Lclojure/lang/Var; | |
| INVOKEVIRTUAL clojure/lang/Var.getRawRoot ()Ljava/lang/Object; | |
| L1 | |
| LINENUMBER 11 L1 | |
| CHECKCAST clojure/lang/IFn | |
| GETSTATIC user$eval5993.const__1 : Lclojure/lang/Var; | |
| INVOKEVIRTUAL clojure/lang/Var.getRawRoot ()Ljava/lang/Object; | |
| L2 | |
| LINENUMBER 11 L2 | |
| CHECKCAST clojure/lang/IFn | |
| GETSTATIC user$eval5993.const__2 : Ljava/lang/Object; | |
| L3 | |
| LINENUMBER 11 L3 | |
| INVOKEINTERFACE clojure/lang/IFn.invoke (Ljava/lang/Object;)Ljava/lang/Object; | |
| L4 | |
| LINENUMBER 11 L4 | |
| INVOKEINTERFACE clojure/lang/IFn.invoke (Ljava/lang/Object;)Ljava/lang/Object; | |
| L5 | |
| ARETURN | |
| MAXSTACK = 0 | |
| MAXLOCALS = 0 | |
| // access flags 0x1 | |
| public invoke()Ljava/lang/Object; | |
| L0 | |
| LINENUMBER 11 L0 | |
| INVOKESTATIC user$eval5993.invokeStatic ()Ljava/lang/Object; | |
| ARETURN | |
| MAXSTACK = 0 | |
| MAXLOCALS = 0 | |
| // access flags 0x19 | |
| public final static Lclojure/lang/Var; const__0 | |
| // access flags 0x19 | |
| public final static Lclojure/lang/Var; const__1 | |
| // access flags 0x19 | |
| public final static Ljava/lang/Object; const__2 | |
| // access flags 0x9 | |
| public static <clinit>()V | |
| L0 | |
| LINENUMBER 11 L0 | |
| LDC "user" | |
| LDC "square" | |
| INVOKESTATIC clojure/lang/RT.var (Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
| CHECKCAST clojure/lang/Var | |
| PUTSTATIC user$eval5993.const__0 : Lclojure/lang/Var; | |
| LDC "user" | |
| LDC "double" | |
| INVOKESTATIC clojure/lang/RT.var (Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
| CHECKCAST clojure/lang/Var | |
| PUTSTATIC user$eval5993.const__1 : Lclojure/lang/Var; | |
| LCONST_1 | |
| INVOKESTATIC java/lang/Long.valueOf (J)Ljava/lang/Long; | |
| PUTSTATIC user$eval5993.const__2 : Ljava/lang/Object; | |
| RETURN | |
| MAXSTACK = 0 | |
| MAXLOCALS = 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment