Skip to content

Instantly share code, notes, and snippets.

@dscho
Created April 29, 2013 17:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dscho/5483376 to your computer and use it in GitHub Desktop.
Save dscho/5483376 to your computer and use it in GitHub Desktop.
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