Created
April 29, 2013 17:51
-
-
Save dscho/5483376 to your computer and use it in GitHub Desktop.
This file contains 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
diff --git a/eclipse-bytecode.txt b/oracle-bytecode.txt | |
index 287569f..c8af853 100644 | |
--- a/eclipse-bytecode.txt | |
+++ b/oracle-bytecode.txt | |
@@ -3,41 +3,41 @@ public class net.imglib2.ops.sandbox.Expressions extends java.lang.Object{ | |
public net.imglib2.ops.sandbox.Expressions(); | |
Code: | |
0: aload_0 | |
- 1: invokespecial #8; //Method java/lang/Object."<init>":()V | |
+ 1: invokespecial #1; //Method java/lang/Object."<init>":()V | |
4: return | |
public static void mainOld(java.lang.String[]); | |
Code: | |
- 0: new #16; //class net/imglib2/type/numeric/real/FloatType | |
+ 0: new #2; //class net/imglib2/type/numeric/real/FloatType | |
3: dup | |
4: fconst_1 | |
- 5: invokespecial #18; //Method net/imglib2/type/numeric/real/FloatType."<init>":(F)V | |
+ 5: invokespecial #3; //Method net/imglib2/type/numeric/real/FloatType."<init>":(F)V | |
8: astore_1 | |
- 9: new #16; //class net/imglib2/type/numeric/real/FloatType | |
+ 9: new #2; //class net/imglib2/type/numeric/real/FloatType | |
12: dup | |
13: fconst_2 | |
- 14: invokespecial #18; //Method net/imglib2/type/numeric/real/FloatType."<init>":(F)V | |
+ 14: invokespecial #3; //Method net/imglib2/type/numeric/real/FloatType."<init>":(F)V | |
17: astore_2 | |
- 18: new #16; //class net/imglib2/type/numeric/real/FloatType | |
+ 18: new #2; //class net/imglib2/type/numeric/real/FloatType | |
21: dup | |
- 22: invokespecial #21; //Method net/imglib2/type/numeric/real/FloatType."<init>":()V | |
+ 22: invokespecial #4; //Method net/imglib2/type/numeric/real/FloatType."<init>":()V | |
25: astore_3 | |
- 26: new #22; //class net/imglib2/ops/sandbox/Expressions$Port | |
+ 26: new #5; //class net/imglib2/ops/sandbox/Expressions$Port | |
29: dup | |
- 30: invokespecial #24; //Method net/imglib2/ops/sandbox/Expressions$Port."<init>":()V | |
+ 30: invokespecial #6; //Method net/imglib2/ops/sandbox/Expressions$Port."<init>":()V | |
33: astore 4 | |
- 35: new #22; //class net/imglib2/ops/sandbox/Expressions$Port | |
+ 35: new #5; //class net/imglib2/ops/sandbox/Expressions$Port | |
38: dup | |
- 39: invokespecial #24; //Method net/imglib2/ops/sandbox/Expressions$Port."<init>":()V | |
+ 39: invokespecial #6; //Method net/imglib2/ops/sandbox/Expressions$Port."<init>":()V | |
42: astore 5 | |
44: bipush 10 | |
46: iconst_1 | |
- 47: new #25; //class net/imglib2/ops/sandbox/Expressions$1 | |
+ 47: new #7; //class net/imglib2/ops/sandbox/Expressions$1 | |
50: dup | |
51: aload_1 | |
52: aload_2 | |
- 53: invokespecial #27; //Method net/imglib2/ops/sandbox/Expressions$1."<init>":(Lnet/imglib2/type/numeric/real/FloatType;Lnet/imglib2/type/numeric/real/FloatType;)V | |
- 56: invokestatic #30; //Method net/imglib2/util/BenchmarkHelper.benchmarkAndPrint:(IZLjava/lang/Runnable;)V | |
+ 53: invokespecial #8; //Method net/imglib2/ops/sandbox/Expressions$1."<init>":(Lnet/imglib2/type/numeric/real/FloatType;Lnet/imglib2/type/numeric/real/FloatType;)V | |
+ 56: invokestatic #9; //Method net/imglib2/util/BenchmarkHelper.benchmarkAndPrint:(IZLjava/lang/Runnable;)V | |
59: return | |
public static void main(java.lang.String[]); | |
@@ -46,117 +46,117 @@ public static void main(java.lang.String[]); | |
1: newarray long | |
3: dup | |
4: iconst_0 | |
- 5: ldc2_w #48; //long 5000l | |
+ 5: ldc2_w #10; //long 5000l | |
8: lastore | |
9: dup | |
10: iconst_1 | |
- 11: ldc2_w #48; //long 5000l | |
+ 11: ldc2_w #10; //long 5000l | |
14: lastore | |
- 15: invokestatic #50; //Method net/imglib2/img/array/ArrayImgs.floats:([J)Lnet/imglib2/img/array/ArrayImg; | |
+ 15: invokestatic #12; //Method net/imglib2/img/array/ArrayImgs.floats:([J)Lnet/imglib2/img/array/ArrayImg; | |
18: astore_1 | |
19: iconst_2 | |
20: newarray long | |
22: dup | |
23: iconst_0 | |
- 24: ldc2_w #48; //long 5000l | |
+ 24: ldc2_w #10; //long 5000l | |
27: lastore | |
28: dup | |
29: iconst_1 | |
- 30: ldc2_w #48; //long 5000l | |
+ 30: ldc2_w #10; //long 5000l | |
33: lastore | |
- 34: invokestatic #50; //Method net/imglib2/img/array/ArrayImgs.floats:([J)Lnet/imglib2/img/array/ArrayImg; | |
+ 34: invokestatic #12; //Method net/imglib2/img/array/ArrayImgs.floats:([J)Lnet/imglib2/img/array/ArrayImg; | |
37: astore_2 | |
38: iconst_2 | |
39: newarray long | |
41: dup | |
42: iconst_0 | |
- 43: ldc2_w #48; //long 5000l | |
+ 43: ldc2_w #10; //long 5000l | |
46: lastore | |
47: dup | |
48: iconst_1 | |
- 49: ldc2_w #48; //long 5000l | |
+ 49: ldc2_w #10; //long 5000l | |
52: lastore | |
- 53: invokestatic #50; //Method net/imglib2/img/array/ArrayImgs.floats:([J)Lnet/imglib2/img/array/ArrayImg; | |
+ 53: invokestatic #12; //Method net/imglib2/img/array/ArrayImgs.floats:([J)Lnet/imglib2/img/array/ArrayImg; | |
56: astore_3 | |
57: iconst_0 | |
58: istore 4 | |
60: aload_1 | |
- 61: invokeinterface #56, 1; //InterfaceMethod net/imglib2/img/Img.iterator:()Ljava/util/Iterator; | |
- 66: astore 6 | |
- 68: goto 94 | |
- 71: aload 6 | |
- 73: invokeinterface #62, 1; //InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; | |
- 78: checkcast #16; //class net/imglib2/type/numeric/real/FloatType | |
- 81: astore 5 | |
- 83: aload 5 | |
- 85: iload 4 | |
- 87: iinc 4, 1 | |
- 90: i2f | |
- 91: invokevirtual #68; //Method net/imglib2/type/numeric/real/FloatType.set:(F)V | |
- 94: aload 6 | |
- 96: invokeinterface #71, 1; //InterfaceMethod java/util/Iterator.hasNext:()Z | |
- 101: ifne 71 | |
+ 61: invokeinterface #13, 1; //InterfaceMethod net/imglib2/img/Img.iterator:()Ljava/util/Iterator; | |
+ 66: astore 5 | |
+ 68: aload 5 | |
+ 70: invokeinterface #14, 1; //InterfaceMethod java/util/Iterator.hasNext:()Z | |
+ 75: ifeq 104 | |
+ 78: aload 5 | |
+ 80: invokeinterface #15, 1; //InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; | |
+ 85: checkcast #2; //class net/imglib2/type/numeric/real/FloatType | |
+ 88: astore 6 | |
+ 90: aload 6 | |
+ 92: iload 4 | |
+ 94: iinc 4, 1 | |
+ 97: i2f | |
+ 98: invokevirtual #16; //Method net/imglib2/type/numeric/real/FloatType.set:(F)V | |
+ 101: goto 68 | |
104: iconst_0 | |
105: istore 4 | |
107: aload_2 | |
- 108: invokeinterface #56, 1; //InterfaceMethod net/imglib2/img/Img.iterator:()Ljava/util/Iterator; | |
- 113: astore 6 | |
- 115: goto 141 | |
- 118: aload 6 | |
- 120: invokeinterface #62, 1; //InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; | |
- 125: checkcast #16; //class net/imglib2/type/numeric/real/FloatType | |
- 128: astore 5 | |
- 130: aload 5 | |
- 132: iload 4 | |
- 134: iinc 4, 1 | |
- 137: i2f | |
- 138: invokevirtual #68; //Method net/imglib2/type/numeric/real/FloatType.set:(F)V | |
- 141: aload 6 | |
- 143: invokeinterface #71, 1; //InterfaceMethod java/util/Iterator.hasNext:()Z | |
- 148: ifne 118 | |
+ 108: invokeinterface #13, 1; //InterfaceMethod net/imglib2/img/Img.iterator:()Ljava/util/Iterator; | |
+ 113: astore 5 | |
+ 115: aload 5 | |
+ 117: invokeinterface #14, 1; //InterfaceMethod java/util/Iterator.hasNext:()Z | |
+ 122: ifeq 151 | |
+ 125: aload 5 | |
+ 127: invokeinterface #15, 1; //InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; | |
+ 132: checkcast #2; //class net/imglib2/type/numeric/real/FloatType | |
+ 135: astore 6 | |
+ 137: aload 6 | |
+ 139: iload 4 | |
+ 141: iinc 4, 1 | |
+ 144: i2f | |
+ 145: invokevirtual #16; //Method net/imglib2/type/numeric/real/FloatType.set:(F)V | |
+ 148: goto 115 | |
151: bipush 10 | |
153: iconst_1 | |
- 154: new #75; //class net/imglib2/ops/sandbox/Expressions$2 | |
+ 154: new #17; //class net/imglib2/ops/sandbox/Expressions$2 | |
157: dup | |
158: aload_1 | |
159: aload_2 | |
160: aload_3 | |
- 161: invokespecial #77; //Method net/imglib2/ops/sandbox/Expressions$2."<init>":(Lnet/imglib2/img/Img;Lnet/imglib2/img/Img;Lnet/imglib2/img/Img;)V | |
- 164: invokestatic #30; //Method net/imglib2/util/BenchmarkHelper.benchmarkAndPrint:(IZLjava/lang/Runnable;)V | |
+ 161: invokespecial #18; //Method net/imglib2/ops/sandbox/Expressions$2."<init>":(Lnet/imglib2/img/Img;Lnet/imglib2/img/Img;Lnet/imglib2/img/Img;)V | |
+ 164: invokestatic #9; //Method net/imglib2/util/BenchmarkHelper.benchmarkAndPrint:(IZLjava/lang/Runnable;)V | |
167: bipush 10 | |
169: iconst_1 | |
- 170: new #80; //class net/imglib2/ops/sandbox/Expressions$3 | |
+ 170: new #19; //class net/imglib2/ops/sandbox/Expressions$4 | |
173: dup | |
174: aload_1 | |
175: aload_2 | |
176: aload_3 | |
- 177: invokespecial #82; //Method net/imglib2/ops/sandbox/Expressions$3."<init>":(Lnet/imglib2/img/Img;Lnet/imglib2/img/Img;Lnet/imglib2/img/Img;)V | |
- 180: invokestatic #30; //Method net/imglib2/util/BenchmarkHelper.benchmarkAndPrint:(IZLjava/lang/Runnable;)V | |
+ 177: invokespecial #20; //Method net/imglib2/ops/sandbox/Expressions$4."<init>":(Lnet/imglib2/img/Img;Lnet/imglib2/img/Img;Lnet/imglib2/img/Img;)V | |
+ 180: invokestatic #9; //Method net/imglib2/util/BenchmarkHelper.benchmarkAndPrint:(IZLjava/lang/Runnable;)V | |
183: aload_3 | |
- 184: invokeinterface #83, 1; //InterfaceMethod net/imglib2/img/Img.cursor:()Lnet/imglib2/Cursor; | |
+ 184: invokeinterface #21, 1; //InterfaceMethod net/imglib2/img/Img.cursor:()Lnet/imglib2/Cursor; | |
189: astore 5 | |
191: iconst_0 | |
192: istore 4 | |
- 194: goto 237 | |
- 197: getstatic #87; //Field java/lang/System.out:Ljava/io/PrintStream; | |
- 200: new #93; //class java/lang/StringBuilder | |
- 203: dup | |
- 204: aload 5 | |
- 206: invokeinterface #95, 1; //InterfaceMethod net/imglib2/Cursor.next:()Ljava/lang/Object; | |
- 211: checkcast #16; //class net/imglib2/type/numeric/real/FloatType | |
- 214: invokevirtual #98; //Method net/imglib2/type/numeric/real/FloatType.get:()F | |
- 217: invokestatic #102; //Method java/lang/String.valueOf:(F)Ljava/lang/String; | |
- 220: invokespecial #108; //Method java/lang/StringBuilder."<init>":(Ljava/lang/String;)V | |
- 223: ldc #111; //String | |
- 225: invokevirtual #113; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
- 228: invokevirtual #117; //Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
- 231: invokevirtual #121; //Method java/io/PrintStream.print:(Ljava/lang/String;)V | |
- 234: iinc 4, 1 | |
- 237: iload 4 | |
- 239: bipush 10 | |
- 241: if_icmplt 197 | |
- 244: getstatic #87; //Field java/lang/System.out:Ljava/io/PrintStream; | |
- 247: invokevirtual #126; //Method java/io/PrintStream.println:()V | |
+ 194: iload 4 | |
+ 196: bipush 10 | |
+ 198: if_icmpge 244 | |
+ 201: getstatic #22; //Field java/lang/System.out:Ljava/io/PrintStream; | |
+ 204: new #23; //class java/lang/StringBuilder | |
+ 207: dup | |
+ 208: invokespecial #24; //Method java/lang/StringBuilder."<init>":()V | |
+ 211: aload 5 | |
+ 213: invokeinterface #25, 1; //InterfaceMethod net/imglib2/Cursor.next:()Ljava/lang/Object; | |
+ 218: checkcast #2; //class net/imglib2/type/numeric/real/FloatType | |
+ 221: invokevirtual #26; //Method net/imglib2/type/numeric/real/FloatType.get:()F | |
+ 224: invokevirtual #27; //Method java/lang/StringBuilder.append:(F)Ljava/lang/StringBuilder; | |
+ 227: ldc #28; //String | |
+ 229: invokevirtual #29; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
+ 232: invokevirtual #30; //Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
+ 235: invokevirtual #31; //Method java/io/PrintStream.print:(Ljava/lang/String;)V | |
+ 238: iinc 4, 1 | |
+ 241: goto 194 | |
+ 244: getstatic #22; //Field java/lang/System.out:Ljava/io/PrintStream; | |
+ 247: invokevirtual #32; //Method java/io/PrintStream.println:()V | |
250: return | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment