/*
* The Computer Language Shootout
* http://shootout.alioth.debian.org/
*
* contributed by Jochen Hinrichsen
*/
double Cr, Ci, Tr, Ti, Zr = 0, Zi = 0, limit_sq = 4.0
int res, i = 0, x = 0, y = 0, pos = 0, acc = 1, iter = 50
res = (args.length >= 1) ? Integer.parseInt(args[0], 10) : 200
int max = (res * res) >>> 3
def pbm_data = new byte[max]
String pbm_header = new String('P4' + ((char) 012) + res + ' ' + res + ((char) 012))
System.out.write(pbm_header.getBytes(), 0, pbm_header.length())
while (pos < max) {
Cr = (2*((double)x++)/res - 1.5)
Ci = (2*((double)y)/res - 1)
acc <<= 1
while (((acc & 1) == 0) && (i++ < iter)) {
Tr = Zr*Zr - Zi*Zi + Cr
Ti = 2*Zr*Zi + Ci
Zr = Tr
Zi = Ti
acc |= (Zr*Zr+Zi*Zi > limit_sq) ? 1 : 0
}
if (x == res) {
y++
if (acc < 256) acc <<= (8 - res % 8)
}
if (acc > 255) {
pbm_data[pos++] = (byte) (acc ^= 255)
acc = 1
}
x %= res
Zr = Zi = i = 0
}
System.out.write(pbm_data, 0, pos)
Groovyc (Legacy)
Compiled from "mandelbrot.groovy"
public class mandelbrot extends groovy.lang.Script {
public static transient boolean __$stMC;
public mandelbrot();
Code:
0: aload_0
1: invokespecial #16 // Method groovy/lang/Script."<init>":()V
4: invokestatic #20 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
7: astore_1
8: return
public mandelbrot(groovy.lang.Binding);
Code:
0: invokestatic #20 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_2
4: aload_0
5: aload_1
6: invokespecial #25 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
9: return
public static void main(java.lang.String...);
Code:
0: invokestatic #20 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: aload_1
5: ldc #30 // int 0
7: aaload
8: ldc #32 // class org/codehaus/groovy/runtime/InvokerHelper
10: ldc #2 // class mandelbrot
12: aload_0
13: invokeinterface #38, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
18: pop
19: return
public java.lang.Object run();
Code:
0: invokestatic #20 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: dconst_0
5: dstore_2
6: dload_2
7: pop2
8: dconst_0
9: dstore 4
11: dload 4
13: pop2
14: dconst_0
15: dstore 6
17: dload 6
19: pop2
20: dconst_0
21: dstore 8
23: dload 8
25: pop2
26: iconst_0
27: i2d
28: dstore 10
30: dload 10
32: pop2
33: iconst_0
34: i2d
35: dstore 12
37: dload 12
39: pop2
40: getstatic #44 // Field $const$0:Ljava/math/BigDecimal;
43: invokestatic #50 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
46: dstore 14
48: dload 14
50: pop2
51: ldc #30 // int 0
53: istore 16
55: iload 16
57: pop
58: iconst_0
59: istore 17
61: iload 17
63: pop
64: iconst_0
65: istore 18
67: iload 18
69: pop
70: iconst_0
71: istore 19
73: iload 19
75: pop
76: iconst_0
77: istore 20
79: iload 20
81: pop
82: iconst_1
83: istore 21
85: iload 21
87: pop
88: bipush 50
90: istore 22
92: iload 22
94: pop
95: aload_1
96: ldc #51 // int 1
98: aaload
99: aload_1
100: ldc #52 // int 2
102: aaload
103: aload_0
104: invokeinterface #56, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGroovyObjectGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
109: invokeinterface #59, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
114: iconst_1
115: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
118: invokestatic #71 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThanEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
121: ifeq 166
124: aload_1
125: ldc #72 // int 3
127: aaload
128: ldc #61 // class java/lang/Integer
130: aload_1
131: ldc #73 // int 4
133: aaload
134: aload_1
135: ldc #74 // int 5
137: aaload
138: aload_0
139: invokeinterface #56, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGroovyObjectGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
144: iconst_0
145: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
148: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
153: bipush 10
155: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
158: invokeinterface #38, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
163: goto 172
166: sipush 200
169: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
172: astore 23
174: aload 23
176: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
179: istore 16
181: aload 23
183: pop
184: ldc #30 // int 0
186: istore 24
188: invokestatic #87 // Method org/codehaus/groovy/runtime/BytecodeInterface8.isOrigInt:()Z
191: ifeq 209
194: getstatic #89 // Field __$stMC:Z
197: ifne 209
200: invokestatic #92 // Method org/codehaus/groovy/runtime/BytecodeInterface8.disabledStandardMetaClass:()Z
203: ifne 209
206: goto 256
209: aload_1
210: ldc #93 // int 6
212: aaload
213: aload_1
214: ldc #94 // int 7
216: aaload
217: iload 16
219: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
222: iload 16
224: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
227: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
232: iconst_3
233: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
236: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
241: astore 25
243: aload 25
245: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
248: istore 24
250: aload 25
252: pop
253: goto 272
256: iload 16
258: iload 16
260: imul
261: iconst_3
262: iushr
263: istore 26
265: iload 26
267: istore 24
269: iload 26
271: pop
272: iload 24
274: multianewarray #96, 1 // class "[B"
278: astore 27
280: aload 27
282: pop
283: aload_1
284: ldc #97 // int 8
286: aaload
287: ldc #99 // class java/lang/String
289: aload_1
290: ldc #100 // int 9
292: aaload
293: aload_1
294: ldc #101 // int 10
296: aaload
297: aload_1
298: ldc #102 // int 11
300: aaload
301: aload_1
302: ldc #103 // int 12
304: aaload
305: aload_1
306: ldc #104 // int 13
308: aaload
309: ldc #106 // String P4
311: bipush 10
313: i2c
314: invokestatic #111 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character;
317: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
322: iload 16
324: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
327: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
332: ldc #113 // String
334: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
339: iload 16
341: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
344: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
349: bipush 10
351: i2c
352: invokestatic #111 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character;
355: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
360: invokeinterface #116, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callConstructor:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
365: invokestatic #122 // Method org/codehaus/groovy/runtime/typehandling/ShortTypeHandling.castToString:(Ljava/lang/Object;)Ljava/lang/String;
368: checkcast #99 // class java/lang/String
371: astore 28
373: aload 28
375: pop
376: aload_1
377: ldc #123 // int 14
379: aaload
380: aload_1
381: ldc #124 // int 15
383: aaload
384: ldc #126 // class java/lang/System
386: invokeinterface #59, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
391: aload_1
392: ldc #127 // int 16
394: aaload
395: aload 28
397: invokeinterface #129, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
402: iconst_0
403: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
406: aload_1
407: ldc #130 // int 17
409: aaload
410: aload 28
412: invokeinterface #129, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
417: invokeinterface #133, 5 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
422: pop
423: iload 20
425: iload 24
427: if_icmpge 434
430: iconst_1
431: goto 435
434: iconst_0
435: ifeq 1208
438: aload_1
439: ldc #134 // int 18
441: aaload
442: aload_1
443: ldc #135 // int 19
445: aaload
446: aload_1
447: ldc #136 // int 20
449: aaload
450: iconst_2
451: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
454: iload 18
456: dup
457: istore 29
459: aload_1
460: ldc #137 // int 21
462: aaload
463: swap
464: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
467: invokeinterface #129, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
472: dup
473: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
476: istore 18
478: pop
479: iload 29
481: i2d
482: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
485: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
490: iload 16
492: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
495: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
500: getstatic #144 // Field $const$1:Ljava/math/BigDecimal;
503: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
508: astore 30
510: aload 30
512: invokestatic #50 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
515: dstore_2
516: aload 30
518: pop
519: aload_1
520: ldc #145 // int 22
522: aaload
523: aload_1
524: ldc #146 // int 23
526: aaload
527: aload_1
528: ldc #147 // int 24
530: aaload
531: iconst_2
532: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
535: iload 19
537: i2d
538: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
541: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
546: iload 16
548: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
551: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
556: iconst_1
557: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
560: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
565: astore 31
567: aload 31
569: invokestatic #50 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
572: dstore 4
574: aload 31
576: pop
577: aload_1
578: ldc #148 // int 25
580: aaload
581: iload 21
583: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
586: iconst_1
587: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
590: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
595: dup
596: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
599: istore 21
601: pop
602: aload_1
603: ldc #149 // int 26
605: aaload
606: iload 21
608: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
611: iconst_1
612: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
615: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
620: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
623: iconst_0
624: if_icmpne 631
627: iconst_1
628: goto 632
631: iconst_0
632: ifeq 679
635: iload 17
637: dup
638: istore 32
640: aload_1
641: ldc #150 // int 27
643: aaload
644: swap
645: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
648: invokeinterface #129, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
653: dup
654: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
657: istore 17
659: pop
660: iload 32
662: iload 22
664: if_icmpge 671
667: iconst_1
668: goto 672
671: iconst_0
672: ifeq 679
675: iconst_1
676: goto 680
679: iconst_0
680: ifeq 931
683: aload_1
684: ldc #151 // int 28
686: aaload
687: aload_1
688: ldc #152 // int 29
690: aaload
691: aload_1
692: ldc #153 // int 30
694: aaload
695: dload 10
697: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
700: dload 10
702: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
705: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
710: aload_1
711: ldc #154 // int 31
713: aaload
714: dload 12
716: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
719: dload 12
721: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
724: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
729: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
734: dload_2
735: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
738: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
743: astore 33
745: aload 33
747: invokestatic #50 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
750: dstore 6
752: aload 33
754: pop
755: aload_1
756: ldc #155 // int 32
758: aaload
759: aload_1
760: ldc #156 // int 33
762: aaload
763: aload_1
764: ldc #157 // int 34
766: aaload
767: iconst_2
768: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
771: dload 10
773: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
776: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
781: dload 12
783: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
786: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
791: dload 4
793: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
796: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
801: astore 34
803: aload 34
805: invokestatic #50 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
808: dstore 8
810: aload 34
812: pop
813: dload 6
815: dstore 35
817: dload 35
819: dstore 10
821: dload 35
823: pop2
824: dload 8
826: dstore 37
828: dload 37
830: dstore 12
832: dload 37
834: pop2
835: aload_1
836: ldc #158 // int 35
838: aaload
839: iload 21
841: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
844: aload_1
845: ldc #159 // int 36
847: aaload
848: aload_1
849: ldc #160 // int 37
851: aaload
852: dload 10
854: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
857: dload 10
859: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
862: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
867: aload_1
868: ldc #161 // int 38
870: aaload
871: dload 12
873: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
876: dload 12
878: invokestatic #142 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
881: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
886: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
891: invokestatic #50 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
894: dload 14
896: dcmpg
897: ifle 904
900: iconst_1
901: goto 905
904: iconst_0
905: ifeq 912
908: iconst_1
909: goto 913
912: iconst_0
913: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
916: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
921: dup
922: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
925: istore 21
927: pop
928: goto 602
931: iload 18
933: iload 16
935: if_icmpne 942
938: iconst_1
939: goto 943
942: iconst_0
943: ifeq 1044
946: iload 19
948: dup
949: istore 39
951: aload_1
952: ldc #162 // int 39
954: aaload
955: swap
956: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
959: invokeinterface #129, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
964: dup
965: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
968: istore 19
970: pop
971: iload 39
973: pop
974: iload 21
976: sipush 256
979: if_icmpge 986
982: iconst_1
983: goto 987
986: iconst_0
987: ifeq 1044
990: aload_1
991: ldc #163 // int 40
993: aaload
994: iload 21
996: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
999: aload_1
1000: ldc #164 // int 41
1002: aaload
1003: bipush 8
1005: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1008: aload_1
1009: ldc #165 // int 42
1011: aaload
1012: iload 16
1014: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1017: bipush 8
1019: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1022: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1027: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1032: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1037: dup
1038: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1041: istore 21
1043: pop
1044: iload 21
1046: sipush 255
1049: if_icmple 1056
1052: iconst_1
1053: goto 1057
1056: iconst_0
1057: ifeq 1151
1060: aload_1
1061: ldc #166 // int 43
1063: aaload
1064: iload 21
1066: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1069: sipush 255
1072: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1075: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1080: dup
1081: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1084: istore 21
1086: invokestatic #170 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.byteUnbox:(Ljava/lang/Object;)B
1089: istore 40
1091: aload_1
1092: ldc #171 // int 44
1094: aaload
1095: aload 27
1097: iload 20
1099: dup
1100: istore 41
1102: aload_1
1103: ldc #172 // int 45
1105: aaload
1106: swap
1107: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1110: invokeinterface #129, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
1115: dup
1116: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1119: istore 20
1121: pop
1122: iload 41
1124: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1127: iload 40
1129: invokestatic #177 // Method java/lang/Byte.valueOf:(B)Ljava/lang/Byte;
1132: invokeinterface #38, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1137: pop
1138: iload 40
1140: pop
1141: iconst_1
1142: istore 42
1144: iload 42
1146: istore 21
1148: iload 42
1150: pop
1151: aload_1
1152: ldc #178 // int 46
1154: aaload
1155: iload 18
1157: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1160: iload 16
1162: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1165: invokeinterface #77, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1170: dup
1171: invokestatic #81 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1174: istore 18
1176: pop
1177: iconst_0
1178: istore 43
1180: iload 43
1182: istore 17
1184: iload 43
1186: istore 44
1188: iload 44
1190: i2d
1191: dstore 12
1193: iload 44
1195: istore 45
1197: iload 45
1199: i2d
1200: dstore 10
1202: iload 45
1204: pop
1205: goto 423
1208: aload_1
1209: ldc #179 // int 47
1211: aaload
1212: aload_1
1213: ldc #180 // int 48
1215: aaload
1216: ldc #126 // class java/lang/System
1218: invokeinterface #59, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
1223: aload 27
1225: iconst_0
1226: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1229: iload 20
1231: invokestatic #65 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1234: invokeinterface #133, 5 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1239: areturn
1240: aconst_null
1241: areturn
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #209 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class mandelbrot
6: if_acmpeq 14
9: aload_0
10: invokestatic #213 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #215 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #209 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #221 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #215 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #224 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public static void __$swapInit();
Code:
0: invokestatic #20 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_0
4: aconst_null
5: putstatic #229 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
8: new #231 // class java/math/BigDecimal
11: dup
12: ldc #233 // String 4.0
14: invokespecial #236 // Method java/math/BigDecimal."<init>":(Ljava/lang/String;)V
17: astore_1
18: aload_1
19: putstatic #44 // Field $const$0:Ljava/math/BigDecimal;
22: aload_1
23: pop
24: new #231 // class java/math/BigDecimal
27: dup
28: ldc #238 // String 1.5
30: invokespecial #236 // Method java/math/BigDecimal."<init>":(Ljava/lang/String;)V
33: astore_2
34: aload_2
35: putstatic #144 // Field $const$1:Ljava/math/BigDecimal;
38: aload_2
39: pop
40: return
static {};
Code:
0: invokestatic #241 // Method __$swapInit:()V
3: return
}
Invoke Dynamic
Compiled from "mandelbrot.groovy"
public class mandelbrot extends groovy.lang.Script {
public static transient boolean __$stMC;
public mandelbrot();
Code:
0: aload_0
1: invokespecial #16 // Method groovy/lang/Script."<init>":()V
4: return
public mandelbrot(groovy.lang.Binding);
Code:
0: aload_0
1: aload_1
2: invokespecial #21 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
5: return
public static void main(java.lang.String...);
Code:
0: ldc #27 // class org/codehaus/groovy/runtime/InvokerHelper
2: ldc #2 // class mandelbrot
4: aload_0
5: invokedynamic #41, 0 // InvokeDynamic #0:invoke:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/String;)Ljava/lang/Object;
10: pop
11: return
public java.lang.Object run();
Code:
0: dconst_0
1: dstore_1
2: dload_1
3: pop2
4: dconst_0
5: dstore_3
6: dload_3
7: pop2
8: dconst_0
9: dstore 5
11: dload 5
13: pop2
14: dconst_0
15: dstore 7
17: dload 7
19: pop2
20: iconst_0
21: i2d
22: dstore 9
24: dload 9
26: pop2
27: iconst_0
28: i2d
29: dstore 11
31: dload 11
33: pop2
34: getstatic #47 // Field $const$0:Ljava/math/BigDecimal;
37: invokestatic #53 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
40: dstore 13
42: dload 13
44: pop2
45: ldc #37 // int 0
47: istore 15
49: iload 15
51: pop
52: iconst_0
53: istore 16
55: iload 16
57: pop
58: iconst_0
59: istore 17
61: iload 17
63: pop
64: iconst_0
65: istore 18
67: iload 18
69: pop
70: iconst_0
71: istore 19
73: iload 19
75: pop
76: iconst_1
77: istore 20
79: iload 20
81: pop
82: bipush 50
84: istore 21
86: iload 21
88: pop
89: aload_0
90: invokedynamic #59, 0 // InvokeDynamic #1:getProperty:(Lmandelbrot;)Ljava/lang/Object;
95: invokedynamic #64, 0 // InvokeDynamic #2:getProperty:(Ljava/lang/Object;)Ljava/lang/Object;
100: iconst_1
101: invokestatic #70 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
104: invokestatic #76 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThanEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
107: ifeq 134
110: ldc #66 // class java/lang/Integer
112: aload_0
113: invokedynamic #59, 0 // InvokeDynamic #1:getProperty:(Lmandelbrot;)Ljava/lang/Object;
118: iconst_0
119: invokedynamic #81, 0 // InvokeDynamic #3:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
124: bipush 10
126: invokedynamic #86, 0 // InvokeDynamic #4:invoke:(Ljava/lang/Class;Ljava/lang/Object;I)Ljava/lang/Object;
131: goto 140
134: sipush 200
137: invokestatic #70 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
140: astore 22
142: aload 22
144: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
147: istore 15
149: aload 22
151: pop
152: iload 15
154: iload 15
156: invokedynamic #95, 0 // InvokeDynamic #5:invoke:(II)Ljava/lang/Object;
161: iconst_3
162: invokedynamic #98, 0 // InvokeDynamic #6:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
167: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
170: istore 23
172: iload 23
174: pop
175: iload 23
177: multianewarray #100, 1 // class "[B"
181: astore 24
183: aload 24
185: pop
186: ldc #102 // class java/lang/String
188: ldc #104 // String P4
190: bipush 10
192: i2c
193: invokestatic #109 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character;
196: getstatic #113 // Field java/lang/Character.TYPE:Ljava/lang/Class;
199: invokestatic #117 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createPojoWrapper:(Ljava/lang/Object;Ljava/lang/Class;)Lorg/codehaus/groovy/runtime/wrappers/Wrapper;
202: invokedynamic #122, 0 // InvokeDynamic #7:invoke:(Ljava/lang/String;Lorg/codehaus/groovy/runtime/wrappers/Wrapper;)Ljava/lang/Object;
207: iload 15
209: invokedynamic #123, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
214: ldc #125 // String
216: invokedynamic #128, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
221: iload 15
223: invokedynamic #123, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
228: bipush 10
230: i2c
231: invokestatic #109 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character;
234: getstatic #113 // Field java/lang/Character.TYPE:Ljava/lang/Class;
237: invokestatic #117 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createPojoWrapper:(Ljava/lang/Object;Ljava/lang/Class;)Lorg/codehaus/groovy/runtime/wrappers/Wrapper;
240: invokedynamic #131, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;Lorg/codehaus/groovy/runtime/wrappers/Wrapper;)Ljava/lang/Object;
245: invokedynamic #136, 0 // InvokeDynamic #8:init:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
250: invokedynamic #142, 0 // InvokeDynamic #9:cast:(Ljava/lang/Object;)Ljava/lang/String;
255: astore 25
257: aload 25
259: pop
260: ldc #144 // class java/lang/System
262: invokedynamic #149, 0 // InvokeDynamic #10:getProperty:(Ljava/lang/Class;)Ljava/lang/Object;
267: aload 25
269: invokedynamic #154, 0 // InvokeDynamic #11:invoke:(Ljava/lang/String;)Ljava/lang/Object;
274: iconst_0
275: aload 25
277: invokedynamic #155, 0 // InvokeDynamic #2:invoke:(Ljava/lang/String;)Ljava/lang/Object;
282: invokedynamic #160, 0 // InvokeDynamic #12:invoke:(Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
287: pop
288: iload 19
290: iload 23
292: if_icmpge 299
295: iconst_1
296: goto 300
299: iconst_0
300: ifeq 839
303: iconst_2
304: iload 17
306: dup
307: istore 26
309: invokedynamic #165, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
314: dup
315: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
318: istore 17
320: pop
321: iload 26
323: i2d
324: invokestatic #170 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
327: getstatic #171 // Field java/lang/Double.TYPE:Ljava/lang/Class;
330: invokestatic #117 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createPojoWrapper:(Ljava/lang/Object;Ljava/lang/Class;)Lorg/codehaus/groovy/runtime/wrappers/Wrapper;
333: invokedynamic #174, 0 // InvokeDynamic #5:invoke:(ILorg/codehaus/groovy/runtime/wrappers/Wrapper;)Ljava/lang/Object;
338: iload 15
340: invokedynamic #177, 0 // InvokeDynamic #14:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
345: getstatic #179 // Field $const$1:Ljava/math/BigDecimal;
348: invokedynamic #184, 0 // InvokeDynamic #15:invoke:(Ljava/lang/Object;Ljava/math/BigDecimal;)Ljava/lang/Object;
353: astore 27
355: aload 27
357: invokestatic #53 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
360: dstore_1
361: aload 27
363: pop
364: iconst_2
365: iload 18
367: i2d
368: invokestatic #170 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
371: getstatic #171 // Field java/lang/Double.TYPE:Ljava/lang/Class;
374: invokestatic #117 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createPojoWrapper:(Ljava/lang/Object;Ljava/lang/Class;)Lorg/codehaus/groovy/runtime/wrappers/Wrapper;
377: invokedynamic #174, 0 // InvokeDynamic #5:invoke:(ILorg/codehaus/groovy/runtime/wrappers/Wrapper;)Ljava/lang/Object;
382: iload 15
384: invokedynamic #177, 0 // InvokeDynamic #14:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
389: iconst_1
390: invokedynamic #185, 0 // InvokeDynamic #15:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
395: astore 28
397: aload 28
399: invokestatic #53 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
402: dstore_3
403: aload 28
405: pop
406: iload 20
408: iconst_1
409: invokedynamic #188, 0 // InvokeDynamic #16:invoke:(II)Ljava/lang/Object;
414: dup
415: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
418: istore 20
420: pop
421: iload 20
423: iconst_1
424: invokedynamic #191, 0 // InvokeDynamic #17:invoke:(II)Ljava/lang/Object;
429: iconst_0
430: invokestatic #70 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
433: invokestatic #194 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
436: ifeq 476
439: iload 16
441: dup
442: istore 29
444: invokedynamic #165, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
449: dup
450: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
453: istore 16
455: pop
456: iload 29
458: invokestatic #70 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
461: iload 21
463: invokestatic #70 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
466: invokestatic #197 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareLessThan:(Ljava/lang/Object;Ljava/lang/Object;)Z
469: ifeq 476
472: iconst_1
473: goto 477
476: iconst_0
477: ifeq 632
480: dload 9
482: dload 9
484: invokedynamic #200, 0 // InvokeDynamic #5:invoke:(DD)Ljava/lang/Object;
489: dload 11
491: dload 11
493: invokedynamic #200, 0 // InvokeDynamic #5:invoke:(DD)Ljava/lang/Object;
498: invokedynamic #203, 0 // InvokeDynamic #15:invoke:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
503: dload_1
504: invokedynamic #206, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;D)Ljava/lang/Object;
509: astore 30
511: aload 30
513: invokestatic #53 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
516: dstore 5
518: aload 30
520: pop
521: iconst_2
522: dload 9
524: invokedynamic #209, 0 // InvokeDynamic #5:invoke:(ID)Ljava/lang/Object;
529: dload 11
531: invokedynamic #210, 0 // InvokeDynamic #5:invoke:(Ljava/lang/Object;D)Ljava/lang/Object;
536: dload_3
537: invokedynamic #206, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;D)Ljava/lang/Object;
542: astore 31
544: aload 31
546: invokestatic #53 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
549: dstore 7
551: aload 31
553: pop
554: dload 5
556: dstore 32
558: dload 32
560: dstore 9
562: dload 32
564: pop2
565: dload 7
567: dstore 34
569: dload 34
571: dstore 11
573: dload 34
575: pop2
576: iload 20
578: dload 9
580: dload 9
582: invokedynamic #200, 0 // InvokeDynamic #5:invoke:(DD)Ljava/lang/Object;
587: dload 11
589: dload 11
591: invokedynamic #200, 0 // InvokeDynamic #5:invoke:(DD)Ljava/lang/Object;
596: invokedynamic #211, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
601: dload 13
603: invokestatic #170 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
606: invokestatic #214 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThan:(Ljava/lang/Object;Ljava/lang/Object;)Z
609: ifeq 616
612: iconst_1
613: goto 617
616: iconst_0
617: invokedynamic #217, 0 // InvokeDynamic #18:invoke:(II)Ljava/lang/Object;
622: dup
623: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
626: istore 20
628: pop
629: goto 421
632: iload 17
634: iload 15
636: if_icmpne 643
639: iconst_1
640: goto 644
643: iconst_0
644: ifeq 713
647: iload 18
649: dup
650: istore 36
652: invokedynamic #165, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
657: dup
658: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
661: istore 18
663: pop
664: iload 36
666: pop
667: iload 20
669: sipush 256
672: if_icmpge 679
675: iconst_1
676: goto 680
679: iconst_0
680: ifeq 713
683: iload 20
685: bipush 8
687: iload 15
689: bipush 8
691: invokedynamic #220, 0 // InvokeDynamic #19:invoke:(II)Ljava/lang/Object;
696: invokedynamic #223, 0 // InvokeDynamic #15:invoke:(ILjava/lang/Object;)Ljava/lang/Object;
701: invokedynamic #224, 0 // InvokeDynamic #16:invoke:(ILjava/lang/Object;)Ljava/lang/Object;
706: dup
707: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
710: istore 20
712: pop
713: iload 20
715: sipush 255
718: if_icmple 725
721: iconst_1
722: goto 726
725: iconst_0
726: ifeq 792
729: iload 20
731: sipush 255
734: invokedynamic #227, 0 // InvokeDynamic #20:invoke:(II)Ljava/lang/Object;
739: dup
740: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
743: istore 20
745: invokestatic #231 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.byteUnbox:(Ljava/lang/Object;)B
748: istore 37
750: aload 24
752: iload 19
754: dup
755: istore 38
757: invokedynamic #165, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
762: dup
763: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
766: istore 19
768: pop
769: iload 38
771: iload 37
773: invokedynamic #236, 0 // InvokeDynamic #21:invoke:(Ljava/lang/Object;IB)Ljava/lang/Object;
778: pop
779: iload 37
781: pop
782: iconst_1
783: istore 39
785: iload 39
787: istore 20
789: iload 39
791: pop
792: iload 17
794: iload 15
796: invokedynamic #220, 0 // InvokeDynamic #19:invoke:(II)Ljava/lang/Object;
801: dup
802: invokestatic #90 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
805: istore 17
807: pop
808: iconst_0
809: istore 40
811: iload 40
813: istore 16
815: iload 40
817: istore 41
819: iload 41
821: i2d
822: dstore 11
824: iload 41
826: istore 42
828: iload 42
830: i2d
831: dstore 9
833: iload 42
835: pop
836: goto 288
839: ldc #144 // class java/lang/System
841: invokedynamic #149, 0 // InvokeDynamic #10:getProperty:(Ljava/lang/Class;)Ljava/lang/Object;
846: aload 24
848: iconst_0
849: iload 19
851: invokedynamic #239, 0 // InvokeDynamic #12:invoke:(Ljava/lang/Object;Ljava/lang/Object;II)Ljava/lang/Object;
856: areturn
857: nop
858: athrow
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #270 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class mandelbrot
6: if_acmpeq 14
9: aload_0
10: invokestatic #274 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #276 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #270 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #282 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #276 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #285 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public static void __$swapInit();
Code:
0: new #288 // class java/math/BigDecimal
3: dup
4: ldc_w #290 // String 4.0
7: invokespecial #293 // Method java/math/BigDecimal."<init>":(Ljava/lang/String;)V
10: astore_0
11: aload_0
12: putstatic #47 // Field $const$0:Ljava/math/BigDecimal;
15: aload_0
16: pop
17: new #288 // class java/math/BigDecimal
20: dup
21: ldc_w #295 // String 1.5
24: invokespecial #293 // Method java/math/BigDecimal."<init>":(Ljava/lang/String;)V
27: astore_1
28: aload_1
29: putstatic #179 // Field $const$1:Ljava/math/BigDecimal;
32: aload_1
33: pop
34: return
static {};
Code:
0: invokestatic #298 // Method __$swapInit:()V
3: return
}
Static Compilation
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/Users/jstrater/Documents/dev/groovy-compiler-project/build/resources/test/scripts/mandelbrot.groovy: 10: [Static type checking] - The variable [args] is undeclared.
@ line 10, column 8.
res = (args.length >= 1) ? Integer.parseInt(args[0], 10) : 200
^
/Users/jstrater/Documents/dev/groovy-compiler-project/build/resources/test/scripts/mandelbrot.groovy: 10: [Static type checking] - Cannot find matching method java.lang.Object#compareTo(int). Please check if the declared type is right and if the method exists.
@ line 10, column 7.
res = (args.length >= 1) ? Integer.parseInt(args[0], 10) : 200
^
/Users/jstrater/Documents/dev/groovy-compiler-project/build/resources/test/scripts/mandelbrot.groovy: 10: [Static type checking] - The variable [args] is undeclared.
@ line 10, column 45.
ngth >= 1) ? Integer.parseInt(args[0], 1
^
/Users/jstrater/Documents/dev/groovy-compiler-project/build/resources/test/scripts/mandelbrot.groovy: 10: [Static type checking] - Cannot find matching method java.lang.Integer#parseInt(java.lang.Object, int). Please check if the declared type is right and if the method exists.
@ line 10, column 28.
res = (args.length >= 1) ? Integer.parseInt(args[0], 10) : 200
^
/Users/jstrater/Documents/dev/groovy-compiler-project/build/resources/test/scripts/mandelbrot.groovy: 10: [Static type checking] - Cannot assign value of type java.lang.Object to variable of type int
@ line 10, column 26.
res = (args.length >= 1) ? Integer.parseInt(args[0], 10) : 200
^
5 errors
Groovyc (Legacy)
Compiled from "mandelbrot.groovy"
public class mandelbrot extends groovy.lang.Script {
public static transient boolean __$stMC;
public mandelbrot();
Code:
0: aload_0
1: invokespecial #18 // Method groovy/lang/Script."<init>":()V
4: invokestatic #22 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
7: astore_1
8: return
public mandelbrot(groovy.lang.Binding);
Code:
0: invokestatic #22 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_2
4: aload_0
5: aload_1
6: invokespecial #27 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
9: return
public static void main(java.lang.String...);
Code:
0: invokestatic #22 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: aload_1
5: ldc #32 // int 0
7: aaload
8: ldc #34 // class org/codehaus/groovy/runtime/InvokerHelper
10: ldc #2 // class mandelbrot
12: aload_0
13: invokeinterface #40, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
18: pop
19: return
public java.lang.Object run();
Code:
0: invokestatic #22 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: dconst_0
5: dstore_2
6: dload_2
7: pop2
8: dconst_0
9: dstore 4
11: dload 4
13: pop2
14: dconst_0
15: dstore 6
17: dload 6
19: pop2
20: dconst_0
21: dstore 8
23: dload 8
25: pop2
26: iconst_0
27: i2d
28: dstore 10
30: dload 10
32: pop2
33: iconst_0
34: i2d
35: dstore 12
37: dload 12
39: pop2
40: getstatic #46 // Field $const$0:Ljava/math/BigDecimal;
43: invokestatic #52 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
46: dstore 14
48: dload 14
50: pop2
51: ldc #32 // int 0
53: istore 16
55: iconst_0
56: istore 17
58: iconst_0
59: istore 18
61: iconst_0
62: istore 19
64: iconst_0
65: istore 20
67: iconst_1
68: istore 21
70: bipush 50
72: istore 22
74: aload_1
75: ldc #53 // int 1
77: aaload
78: aload_1
79: ldc #54 // int 2
81: aaload
82: aload_0
83: invokeinterface #58, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGroovyObjectGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
88: invokeinterface #61, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
93: iconst_1
94: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
97: invokestatic #73 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThanEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
100: ifeq 145
103: aload_1
104: ldc #74 // int 3
106: aaload
107: ldc #63 // class java/lang/Integer
109: aload_1
110: ldc #75 // int 4
112: aaload
113: aload_1
114: ldc #76 // int 5
116: aaload
117: aload_0
118: invokeinterface #58, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGroovyObjectGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
123: iconst_0
124: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
127: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
132: bipush 10
134: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
137: invokeinterface #40, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
142: goto 151
145: sipush 200
148: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
151: astore 23
153: aload 23
155: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
158: istore 16
160: ldc #32 // int 0
162: istore 24
164: invokestatic #89 // Method org/codehaus/groovy/runtime/BytecodeInterface8.isOrigInt:()Z
167: ifeq 185
170: getstatic #91 // Field __$stMC:Z
173: ifne 185
176: invokestatic #94 // Method org/codehaus/groovy/runtime/BytecodeInterface8.disabledStandardMetaClass:()Z
179: ifne 185
182: goto 229
185: aload_1
186: ldc #95 // int 6
188: aaload
189: aload_1
190: ldc #96 // int 7
192: aaload
193: iload 16
195: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
198: iload 16
200: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
203: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
208: iconst_3
209: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
212: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
217: astore 25
219: aload 25
221: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
224: istore 24
226: goto 242
229: iload 16
231: iload 16
233: imul
234: iconst_3
235: iushr
236: istore 26
238: iload 26
240: istore 24
242: iload 24
244: multianewarray #98, 1 // class "[B"
248: astore 27
250: aload_1
251: ldc #99 // int 8
253: aaload
254: ldc #101 // class java/lang/String
256: aload_1
257: ldc #102 // int 9
259: aaload
260: aload_1
261: ldc #103 // int 10
263: aaload
264: aload_1
265: ldc #104 // int 11
267: aaload
268: aload_1
269: ldc #105 // int 12
271: aaload
272: aload_1
273: ldc #106 // int 13
275: aaload
276: ldc #108 // String P4
278: bipush 10
280: i2c
281: invokestatic #113 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character;
284: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
289: iload 16
291: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
294: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
299: ldc #115 // String
301: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
306: iload 16
308: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
311: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
316: bipush 10
318: i2c
319: invokestatic #113 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character;
322: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
327: invokeinterface #118, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callConstructor:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
332: invokestatic #124 // Method org/codehaus/groovy/runtime/typehandling/ShortTypeHandling.castToString:(Ljava/lang/Object;)Ljava/lang/String;
335: checkcast #101 // class java/lang/String
338: astore 28
340: aload_1
341: ldc #125 // int 14
343: aaload
344: aload_1
345: ldc #126 // int 15
347: aaload
348: ldc #128 // class java/lang/System
350: invokeinterface #61, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
355: aload_1
356: ldc #129 // int 16
358: aaload
359: aload 28
361: invokeinterface #131, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
366: iconst_0
367: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
370: aload_1
371: ldc #132 // int 17
373: aaload
374: aload 28
376: invokeinterface #131, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
381: invokeinterface #135, 5 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
386: pop
387: iload 20
389: iload 24
391: if_icmpge 398
394: iconst_1
395: goto 399
398: iconst_0
399: ifeq 1148
402: aload_1
403: ldc #136 // int 18
405: aaload
406: aload_1
407: ldc #137 // int 19
409: aaload
410: aload_1
411: ldc #138 // int 20
413: aaload
414: iconst_2
415: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
418: iload 18
420: dup
421: istore 29
423: aload_1
424: ldc #139 // int 21
426: aaload
427: swap
428: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
431: invokeinterface #131, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
436: dup
437: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
440: istore 18
442: pop
443: iload 29
445: i2d
446: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
449: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
454: iload 16
456: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
459: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
464: getstatic #146 // Field $const$1:Ljava/math/BigDecimal;
467: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
472: astore 30
474: aload 30
476: invokestatic #52 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
479: dstore_2
480: aload_1
481: ldc #147 // int 22
483: aaload
484: aload_1
485: ldc #148 // int 23
487: aaload
488: aload_1
489: ldc #149 // int 24
491: aaload
492: iconst_2
493: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
496: iload 19
498: i2d
499: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
502: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
507: iload 16
509: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
512: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
517: iconst_1
518: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
521: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
526: astore 31
528: aload 31
530: invokestatic #52 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
533: dstore 4
535: aload_1
536: ldc #150 // int 25
538: aaload
539: iload 21
541: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
544: iconst_1
545: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
548: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
553: dup
554: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
557: istore 21
559: pop
560: aload_1
561: ldc #151 // int 26
563: aaload
564: iload 21
566: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
569: iconst_1
570: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
573: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
578: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
581: iconst_0
582: if_icmpne 589
585: iconst_1
586: goto 590
589: iconst_0
590: ifeq 637
593: iload 17
595: dup
596: istore 32
598: aload_1
599: ldc #152 // int 27
601: aaload
602: swap
603: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
606: invokeinterface #131, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
611: dup
612: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
615: istore 17
617: pop
618: iload 32
620: iload 22
622: if_icmpge 629
625: iconst_1
626: goto 630
629: iconst_0
630: ifeq 637
633: iconst_1
634: goto 638
637: iconst_0
638: ifeq 883
641: aload_1
642: ldc #153 // int 28
644: aaload
645: aload_1
646: ldc #154 // int 29
648: aaload
649: aload_1
650: ldc #155 // int 30
652: aaload
653: dload 10
655: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
658: dload 10
660: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
663: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
668: aload_1
669: ldc #156 // int 31
671: aaload
672: dload 12
674: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
677: dload 12
679: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
682: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
687: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
692: dload_2
693: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
696: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
701: astore 33
703: aload 33
705: invokestatic #52 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
708: dstore 6
710: aload_1
711: ldc #157 // int 32
713: aaload
714: aload_1
715: ldc #158 // int 33
717: aaload
718: aload_1
719: ldc #159 // int 34
721: aaload
722: iconst_2
723: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
726: dload 10
728: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
731: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
736: dload 12
738: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
741: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
746: dload 4
748: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
751: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
756: astore 34
758: aload 34
760: invokestatic #52 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
763: dstore 8
765: dload 6
767: dstore 35
769: dload 35
771: dstore 10
773: dload 35
775: pop2
776: dload 8
778: dstore 37
780: dload 37
782: dstore 12
784: dload 37
786: pop2
787: aload_1
788: ldc #160 // int 35
790: aaload
791: iload 21
793: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
796: aload_1
797: ldc #161 // int 36
799: aaload
800: aload_1
801: ldc #162 // int 37
803: aaload
804: dload 10
806: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
809: dload 10
811: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
814: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
819: aload_1
820: ldc #163 // int 38
822: aaload
823: dload 12
825: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
828: dload 12
830: invokestatic #144 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
833: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
838: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
843: invokestatic #52 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
846: dload 14
848: dcmpg
849: ifle 856
852: iconst_1
853: goto 857
856: iconst_0
857: ifeq 864
860: iconst_1
861: goto 865
864: iconst_0
865: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
868: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
873: dup
874: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
877: istore 21
879: pop
880: goto 560
883: iload 18
885: iload 16
887: if_icmpne 894
890: iconst_1
891: goto 895
894: iconst_0
895: ifeq 993
898: iload 19
900: dup
901: istore 39
903: aload_1
904: ldc #164 // int 39
906: aaload
907: swap
908: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
911: invokeinterface #131, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
916: dup
917: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
920: istore 19
922: pop
923: iload 21
925: sipush 256
928: if_icmpge 935
931: iconst_1
932: goto 936
935: iconst_0
936: ifeq 993
939: aload_1
940: ldc #165 // int 40
942: aaload
943: iload 21
945: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
948: aload_1
949: ldc #166 // int 41
951: aaload
952: bipush 8
954: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
957: aload_1
958: ldc #167 // int 42
960: aaload
961: iload 16
963: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
966: bipush 8
968: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
971: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
976: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
981: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
986: dup
987: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
990: istore 21
992: pop
993: iload 21
995: sipush 255
998: if_icmple 1005
1001: iconst_1
1002: goto 1006
1005: iconst_0
1006: ifeq 1094
1009: aload_1
1010: ldc #168 // int 43
1012: aaload
1013: iload 21
1015: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1018: sipush 255
1021: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1024: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1029: dup
1030: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1033: istore 21
1035: invokestatic #172 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.byteUnbox:(Ljava/lang/Object;)B
1038: istore 40
1040: aload_1
1041: ldc #173 // int 44
1043: aaload
1044: aload 27
1046: iload 20
1048: dup
1049: istore 41
1051: aload_1
1052: ldc #174 // int 45
1054: aaload
1055: swap
1056: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1059: invokeinterface #131, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
1064: dup
1065: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1068: istore 20
1070: pop
1071: iload 41
1073: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1076: iload 40
1078: invokestatic #179 // Method java/lang/Byte.valueOf:(B)Ljava/lang/Byte;
1081: invokeinterface #40, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1086: pop
1087: iconst_1
1088: istore 42
1090: iload 42
1092: istore 21
1094: aload_1
1095: ldc #180 // int 46
1097: aaload
1098: iload 18
1100: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1103: iload 16
1105: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1108: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1113: dup
1114: invokestatic #83 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1117: istore 18
1119: pop
1120: iconst_0
1121: istore 43
1123: iload 43
1125: istore 17
1127: iload 43
1129: istore 44
1131: iload 44
1133: i2d
1134: dstore 12
1136: iload 44
1138: istore 45
1140: iload 45
1142: i2d
1143: dstore 10
1145: goto 387
1148: aload_1
1149: ldc #181 // int 47
1151: aaload
1152: aload_1
1153: ldc #182 // int 48
1155: aaload
1156: ldc #128 // class java/lang/System
1158: invokeinterface #61, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
1163: aload 27
1165: iconst_0
1166: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1169: iload 20
1171: invokestatic #67 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1174: invokeinterface #135, 5 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1179: areturn
1180: aconst_null
1181: areturn
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #211 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class mandelbrot
6: if_acmpeq 14
9: aload_0
10: invokestatic #215 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #217 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #211 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #223 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #217 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #226 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public static void __$swapInit();
Code:
0: invokestatic #22 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_0
4: aconst_null
5: putstatic #229 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
8: new #231 // class java/math/BigDecimal
11: dup
12: ldc #233 // String 4.0
14: invokespecial #236 // Method java/math/BigDecimal."<init>":(Ljava/lang/String;)V
17: astore_1
18: aload_1
19: putstatic #46 // Field $const$0:Ljava/math/BigDecimal;
22: new #231 // class java/math/BigDecimal
25: dup
26: ldc #238 // String 1.5
28: invokespecial #236 // Method java/math/BigDecimal."<init>":(Ljava/lang/String;)V
31: astore_2
32: aload_2
33: putstatic #146 // Field $const$1:Ljava/math/BigDecimal;
36: return
static {};
Code:
0: invokestatic #241 // Method __$swapInit:()V
3: return
}
Invoke Dynamic
Compiled from "mandelbrot.groovy"
public class mandelbrot extends groovy.lang.Script {
public static transient boolean __$stMC;
public mandelbrot();
Code:
0: aload_0
1: invokespecial #16 // Method groovy/lang/Script."<init>":()V
4: return
public mandelbrot(groovy.lang.Binding);
Code:
0: aload_0
1: aload_1
2: invokespecial #21 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
5: return
public static void main(java.lang.String...);
Code:
0: ldc #27 // class org/codehaus/groovy/runtime/InvokerHelper
2: ldc #2 // class mandelbrot
4: aload_0
5: invokedynamic #41, 0 // InvokeDynamic #0:invoke:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/String;)Ljava/lang/Object;
10: pop
11: return
public java.lang.Object run();
Code:
0: dconst_0
1: dstore_1
2: dload_1
3: pop2
4: dconst_0
5: dstore_3
6: dload_3
7: pop2
8: dconst_0
9: dstore 5
11: dload 5
13: pop2
14: dconst_0
15: dstore 7
17: dload 7
19: pop2
20: iconst_0
21: i2d
22: dstore 9
24: dload 9
26: pop2
27: iconst_0
28: i2d
29: dstore 11
31: dload 11
33: pop2
34: getstatic #47 // Field $const$0:Ljava/math/BigDecimal;
37: invokestatic #53 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
40: dstore 13
42: dload 13
44: pop2
45: ldc #37 // int 0
47: istore 15
49: iconst_0
50: istore 16
52: iconst_0
53: istore 17
55: iconst_0
56: istore 18
58: iconst_0
59: istore 19
61: iconst_1
62: istore 20
64: bipush 50
66: istore 21
68: aload_0
69: invokedynamic #59, 0 // InvokeDynamic #1:getProperty:(Lmandelbrot;)Ljava/lang/Object;
74: invokedynamic #64, 0 // InvokeDynamic #2:getProperty:(Ljava/lang/Object;)Ljava/lang/Object;
79: iconst_1
80: invokestatic #70 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
83: invokestatic #76 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThanEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
86: ifeq 113
89: ldc #66 // class java/lang/Integer
91: aload_0
92: invokedynamic #59, 0 // InvokeDynamic #1:getProperty:(Lmandelbrot;)Ljava/lang/Object;
97: iconst_0
98: invokedynamic #81, 0 // InvokeDynamic #3:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
103: bipush 10
105: invokedynamic #86, 0 // InvokeDynamic #4:invoke:(Ljava/lang/Class;Ljava/lang/Object;I)Ljava/lang/Object;
110: goto 119
113: sipush 200
116: invokestatic #70 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
119: astore 22
121: aload 22
123: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
126: istore 15
128: iload 15
130: iload 15
132: invokedynamic #97, 0 // InvokeDynamic #5:invoke:(II)Ljava/lang/Object;
137: iconst_3
138: invokedynamic #100, 0 // InvokeDynamic #6:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
143: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
146: istore 23
148: iload 23
150: multianewarray #102, 1 // class "[B"
154: astore 24
156: ldc #104 // class java/lang/String
158: ldc #106 // String P4
160: bipush 10
162: i2c
163: invokestatic #111 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character;
166: getstatic #115 // Field java/lang/Character.TYPE:Ljava/lang/Class;
169: invokestatic #119 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createPojoWrapper:(Ljava/lang/Object;Ljava/lang/Class;)Lorg/codehaus/groovy/runtime/wrappers/Wrapper;
172: invokedynamic #124, 0 // InvokeDynamic #7:invoke:(Ljava/lang/String;Lorg/codehaus/groovy/runtime/wrappers/Wrapper;)Ljava/lang/Object;
177: iload 15
179: invokedynamic #125, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
184: ldc #127 // String
186: invokedynamic #130, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
191: iload 15
193: invokedynamic #125, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
198: bipush 10
200: i2c
201: invokestatic #111 // Method java/lang/Character.valueOf:(C)Ljava/lang/Character;
204: getstatic #115 // Field java/lang/Character.TYPE:Ljava/lang/Class;
207: invokestatic #119 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createPojoWrapper:(Ljava/lang/Object;Ljava/lang/Class;)Lorg/codehaus/groovy/runtime/wrappers/Wrapper;
210: invokedynamic #133, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;Lorg/codehaus/groovy/runtime/wrappers/Wrapper;)Ljava/lang/Object;
215: invokedynamic #138, 0 // InvokeDynamic #8:init:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
220: invokedynamic #144, 0 // InvokeDynamic #9:cast:(Ljava/lang/Object;)Ljava/lang/String;
225: astore 25
227: ldc #146 // class java/lang/System
229: invokedynamic #151, 0 // InvokeDynamic #10:getProperty:(Ljava/lang/Class;)Ljava/lang/Object;
234: aload 25
236: invokedynamic #156, 0 // InvokeDynamic #11:invoke:(Ljava/lang/String;)Ljava/lang/Object;
241: iconst_0
242: aload 25
244: invokedynamic #157, 0 // InvokeDynamic #2:invoke:(Ljava/lang/String;)Ljava/lang/Object;
249: invokedynamic #162, 0 // InvokeDynamic #12:invoke:(Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
254: pop
255: iload 19
257: iload 23
259: if_icmpge 266
262: iconst_1
263: goto 267
266: iconst_0
267: ifeq 782
270: iconst_2
271: iload 17
273: dup
274: istore 26
276: invokedynamic #167, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
281: dup
282: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
285: istore 17
287: pop
288: iload 26
290: i2d
291: invokestatic #172 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
294: getstatic #173 // Field java/lang/Double.TYPE:Ljava/lang/Class;
297: invokestatic #119 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createPojoWrapper:(Ljava/lang/Object;Ljava/lang/Class;)Lorg/codehaus/groovy/runtime/wrappers/Wrapper;
300: invokedynamic #176, 0 // InvokeDynamic #5:invoke:(ILorg/codehaus/groovy/runtime/wrappers/Wrapper;)Ljava/lang/Object;
305: iload 15
307: invokedynamic #179, 0 // InvokeDynamic #14:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
312: getstatic #181 // Field $const$1:Ljava/math/BigDecimal;
315: invokedynamic #186, 0 // InvokeDynamic #15:invoke:(Ljava/lang/Object;Ljava/math/BigDecimal;)Ljava/lang/Object;
320: astore 27
322: aload 27
324: invokestatic #53 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
327: dstore_1
328: iconst_2
329: iload 18
331: i2d
332: invokestatic #172 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
335: getstatic #173 // Field java/lang/Double.TYPE:Ljava/lang/Class;
338: invokestatic #119 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createPojoWrapper:(Ljava/lang/Object;Ljava/lang/Class;)Lorg/codehaus/groovy/runtime/wrappers/Wrapper;
341: invokedynamic #176, 0 // InvokeDynamic #5:invoke:(ILorg/codehaus/groovy/runtime/wrappers/Wrapper;)Ljava/lang/Object;
346: iload 15
348: invokedynamic #179, 0 // InvokeDynamic #14:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
353: iconst_1
354: invokedynamic #187, 0 // InvokeDynamic #15:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
359: astore 28
361: aload 28
363: invokestatic #53 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
366: dstore_3
367: iload 20
369: iconst_1
370: invokedynamic #190, 0 // InvokeDynamic #16:invoke:(II)Ljava/lang/Object;
375: dup
376: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
379: istore 20
381: pop
382: iload 20
384: iconst_1
385: invokedynamic #193, 0 // InvokeDynamic #17:invoke:(II)Ljava/lang/Object;
390: iconst_0
391: invokestatic #70 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
394: invokestatic #196 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
397: ifeq 437
400: iload 16
402: dup
403: istore 29
405: invokedynamic #167, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
410: dup
411: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
414: istore 16
416: pop
417: iload 29
419: invokestatic #70 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
422: iload 21
424: invokestatic #70 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
427: invokestatic #199 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareLessThan:(Ljava/lang/Object;Ljava/lang/Object;)Z
430: ifeq 437
433: iconst_1
434: goto 438
437: iconst_0
438: ifeq 587
441: dload 9
443: dload 9
445: invokedynamic #202, 0 // InvokeDynamic #5:invoke:(DD)Ljava/lang/Object;
450: dload 11
452: dload 11
454: invokedynamic #202, 0 // InvokeDynamic #5:invoke:(DD)Ljava/lang/Object;
459: invokedynamic #205, 0 // InvokeDynamic #15:invoke:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
464: dload_1
465: invokedynamic #208, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;D)Ljava/lang/Object;
470: astore 30
472: aload 30
474: invokestatic #53 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
477: dstore 5
479: iconst_2
480: dload 9
482: invokedynamic #211, 0 // InvokeDynamic #5:invoke:(ID)Ljava/lang/Object;
487: dload 11
489: invokedynamic #212, 0 // InvokeDynamic #5:invoke:(Ljava/lang/Object;D)Ljava/lang/Object;
494: dload_3
495: invokedynamic #208, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;D)Ljava/lang/Object;
500: astore 31
502: aload 31
504: invokestatic #53 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.doubleUnbox:(Ljava/lang/Object;)D
507: dstore 7
509: dload 5
511: dstore 32
513: dload 32
515: dstore 9
517: dload 32
519: pop2
520: dload 7
522: dstore 34
524: dload 34
526: dstore 11
528: dload 34
530: pop2
531: iload 20
533: dload 9
535: dload 9
537: invokedynamic #202, 0 // InvokeDynamic #5:invoke:(DD)Ljava/lang/Object;
542: dload 11
544: dload 11
546: invokedynamic #202, 0 // InvokeDynamic #5:invoke:(DD)Ljava/lang/Object;
551: invokedynamic #213, 0 // InvokeDynamic #7:invoke:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
556: dload 13
558: invokestatic #172 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
561: invokestatic #216 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThan:(Ljava/lang/Object;Ljava/lang/Object;)Z
564: ifeq 571
567: iconst_1
568: goto 572
571: iconst_0
572: invokedynamic #219, 0 // InvokeDynamic #18:invoke:(II)Ljava/lang/Object;
577: dup
578: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
581: istore 20
583: pop
584: goto 382
587: iload 17
589: iload 15
591: if_icmpne 598
594: iconst_1
595: goto 599
598: iconst_0
599: ifeq 665
602: iload 18
604: dup
605: istore 36
607: invokedynamic #167, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
612: dup
613: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
616: istore 18
618: pop
619: iload 20
621: sipush 256
624: if_icmpge 631
627: iconst_1
628: goto 632
631: iconst_0
632: ifeq 665
635: iload 20
637: bipush 8
639: iload 15
641: bipush 8
643: invokedynamic #222, 0 // InvokeDynamic #19:invoke:(II)Ljava/lang/Object;
648: invokedynamic #225, 0 // InvokeDynamic #15:invoke:(ILjava/lang/Object;)Ljava/lang/Object;
653: invokedynamic #226, 0 // InvokeDynamic #16:invoke:(ILjava/lang/Object;)Ljava/lang/Object;
658: dup
659: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
662: istore 20
664: pop
665: iload 20
667: sipush 255
670: if_icmple 677
673: iconst_1
674: goto 678
677: iconst_0
678: ifeq 738
681: iload 20
683: sipush 255
686: invokedynamic #229, 0 // InvokeDynamic #20:invoke:(II)Ljava/lang/Object;
691: dup
692: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
695: istore 20
697: invokestatic #233 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.byteUnbox:(Ljava/lang/Object;)B
700: istore 37
702: aload 24
704: iload 19
706: dup
707: istore 38
709: invokedynamic #167, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
714: dup
715: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
718: istore 19
720: pop
721: iload 38
723: iload 37
725: invokedynamic #238, 0 // InvokeDynamic #21:invoke:(Ljava/lang/Object;IB)Ljava/lang/Object;
730: pop
731: iconst_1
732: istore 39
734: iload 39
736: istore 20
738: iload 17
740: iload 15
742: invokedynamic #222, 0 // InvokeDynamic #19:invoke:(II)Ljava/lang/Object;
747: dup
748: invokestatic #92 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
751: istore 17
753: pop
754: iconst_0
755: istore 40
757: iload 40
759: istore 16
761: iload 40
763: istore 41
765: iload 41
767: i2d
768: dstore 11
770: iload 41
772: istore 42
774: iload 42
776: i2d
777: dstore 9
779: goto 255
782: ldc #146 // class java/lang/System
784: invokedynamic #151, 0 // InvokeDynamic #10:getProperty:(Ljava/lang/Class;)Ljava/lang/Object;
789: aload 24
791: iconst_0
792: iload 19
794: invokedynamic #241, 0 // InvokeDynamic #12:invoke:(Ljava/lang/Object;Ljava/lang/Object;II)Ljava/lang/Object;
799: areturn
800: nop
801: athrow
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #270 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class mandelbrot
6: if_acmpeq 14
9: aload_0
10: invokestatic #274 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #276 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #270 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #282 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #276 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #285 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public static void __$swapInit();
Code:
0: new #288 // class java/math/BigDecimal
3: dup
4: ldc_w #290 // String 4.0
7: invokespecial #293 // Method java/math/BigDecimal."<init>":(Ljava/lang/String;)V
10: astore_0
11: aload_0
12: putstatic #47 // Field $const$0:Ljava/math/BigDecimal;
15: new #288 // class java/math/BigDecimal
18: dup
19: ldc_w #295 // String 1.5
22: invokespecial #293 // Method java/math/BigDecimal."<init>":(Ljava/lang/String;)V
25: astore_1
26: aload_1
27: putstatic #181 // Field $const$1:Ljava/math/BigDecimal;
30: return
static {};
Code:
0: invokestatic #298 // Method __$swapInit:()V
3: return
}