Created
June 15, 2009 06:37
-
-
Save headius/129973 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
~/projects/juby ➔ cat loop.jb | |
a = 0 | |
b = 0 | |
while a.compareTo(123_456) == -1 | |
a += 1 | |
b += a | |
end | |
puts b | |
~/projects/juby ➔ JAVA_OPTS=-XX:+EnableInvokeDynamic CLASSPATH=src jruby bin/jubyc loop.jb | |
~/projects/juby ➔ javap -c dash_e | |
Compiled from "dash_e" | |
public class dash_e extends java.lang.Object { | |
public static void main(java.lang.String[]); | |
Code: | |
0: ldc2_w #7; //long 0l | |
3: invokestatic #14; //Method java/lang/Long.valueOf:(J)Ljava/lang/Long; | |
6: dup | |
7: astore_0 | |
8: pop | |
9: aload_0 | |
10: ldc2_w #15; //long 5l | |
13: invokestatic #14; //Method java/lang/Long.valueOf:(J)Ljava/lang/Long; | |
16: invokedynamic #34, 0; //NameAndType compareTo:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; | |
21: ldc2_w #35; //long -1l | |
24: invokestatic #14; //Method java/lang/Long.valueOf:(J)Ljava/lang/Long; | |
27: invokedynamic #38, 0; //NameAndType "==":(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; | |
32: getstatic #44; //Field java/lang/Boolean.FALSE:Ljava/lang/Boolean; | |
35: if_acmpeq 77 | |
38: aload_0 | |
39: ldc2_w #45; //long 1l | |
42: invokestatic #14; //Method java/lang/Long.valueOf:(J)Ljava/lang/Long; | |
45: invokedynamic #48, 0; //NameAndType "+":(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; | |
50: dup | |
51: astore_0 | |
52: pop | |
53: aload_0 | |
54: ldc2_w #49; //long 10l | |
57: invokestatic #14; //Method java/lang/Long.valueOf:(J)Ljava/lang/Long; | |
60: invokedynamic #48, 0; //NameAndType "+":(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; | |
65: getstatic #56; //Field java/lang/System.out:Ljava/io/PrintStream; | |
68: swap | |
69: invokevirtual #62; //Method java/io/PrintStream.println:(Ljava/lang/Object;)V | |
72: aconst_null | |
73: pop | |
74: goto 9 | |
77: aconst_null | |
78: pop | |
79: return | |
static {}; | |
Code: | |
0: ldc #19; //String dash_e | |
2: invokestatic #25; //Method java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class; | |
5: invokestatic #31; //Method com/headius/juby/SimpleJavaBootstrap.registerBootstrap:(Ljava/lang/Class;)V | |
8: return | |
} | |
~/projects/juby ➔ java -Xint -cp src:. -XX:+EnableInvokeDynamic loop | |
7620753696 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment