Created
February 22, 2016 08:09
-
-
Save killme2008/c459e304e35aeef73e1c to your computer and use it in GitHub Desktop.
square function bytecode 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
| (defn square [n] (* n n)) | |
| public final class user$square 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 7 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;)Ljava/lang/Object; | |
| L0 | |
| LINENUMBER 7 L0 | |
| ALOAD 0 | |
| ALOAD 0 | |
| ACONST_NULL | |
| ASTORE 0 | |
| L1 | |
| LINENUMBER 7 L1 | |
| INVOKESTATIC clojure/lang/Numbers.multiply (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Number; | |
| L2 | |
| LOCALVARIABLE n Ljava/lang/Object; L0 L2 0 | |
| ARETURN | |
| MAXSTACK = 0 | |
| MAXLOCALS = 0 | |
| // access flags 0x1 | |
| public invoke(Ljava/lang/Object;)Ljava/lang/Object; | |
| ALOAD 1 | |
| ACONST_NULL | |
| ASTORE 1 | |
| L0 | |
| LINENUMBER 7 L0 | |
| INVOKESTATIC user$square.invokeStatic (Ljava/lang/Object;)Ljava/lang/Object; | |
| ARETURN | |
| MAXSTACK = 0 | |
| MAXLOCALS = 0 | |
| // access flags 0x9 | |
| public static <clinit>()V | |
| L0 | |
| LINENUMBER 7 L0 | |
| RETURN | |
| MAXSTACK = 0 | |
| MAXLOCALS = 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment