• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1reading Blort.class...
2method <init> ()V
3first 000c
4block 000a
5  pred 000c
6  Blort.java:2@0000: move-param-object(0) v0:"this"NffffLBlort; <- .
7  Blort.java:2@0000: goto . <- .
8  next 0000
9block 0000
10  pred 000a
11  Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any
12  >}(java.lang.Object.<init>:()V catch) . <- v0:NffffLBlort;
13  next 000b
14block 000b
15  pred 0000
16  Blort.java:4@0004: return-void . <- .
17  returns
18block 000c
19  @????: goto . <- .
20  next 000a
21
22method testNumeric ()V
23first 005e
24block 005c
25  pred 005e
26  Blort.java:10@0000: move-param-object(0) v4:"this"LBlort; <- .
27  Blort.java:10@0000: goto . <- .
28  next 0000
29block 0000
30  pred 005c
31  Blort.java:10@0000: const-int(10) v0:I=10 <- .
32  @????: mark-local-int . <- v0:"foo"I
33  Blort.java:12@0003: const-int(0) v1:I=0 <- .
34  @????: mark-local-int . <- v1:"i"I
35  Blort.java:12@0004: goto . <- .
36  next 0005
37block 0005
38  pred 0000
39  pred 000b
40  Blort.java:12@0008: if-ge-int . <- v1:I v3:I=10
41  next 000b *
42  next 0018
43block 000b
44  pred 0005
45  Blort.java:13@000f: mul-const-int(10) v2:I <- v1:I
46  Blort.java:13@0010: add-int v0:I <- v0:I v2:I
47  @????: mark-local-int . <- v0:"foo"I
48  Blort.java:12@0012: add-const-int(1) v1:"i"I <- v1:I
49  Blort.java:12@0015: goto . <- .
50  next 0005
51block 0018
52  pred 0005
53  Blort.java:16@0018: const-int(0) v1:I=0 <- .
54  @????: mark-local-int . <- v1:"i"I
55  Blort.java:16@0019: goto . <- .
56  next 001a
57block 001a
58  pred 0018
59  pred 0020
60  Blort.java:16@001d: if-ge-int . <- v1:I v3:I=10
61  next 0020 *
62  next 005d
63block 0020
64  pred 001a
65  Blort.java:17@0024: add-const-int(10) v2:I <- v1:I
66  Blort.java:17@0025: add-int v0:I <- v0:I v2:I
67  @????: mark-local-int . <- v0:"foo"I
68  Blort.java:16@0027: add-const-int(1) v1:"i"I <- v1:I
69  Blort.java:16@002a: goto . <- .
70  next 001a
71block 005d
72  pred 001a
73  Blort.java:19@002d: return-void . <- .
74  returns
75block 005e
76  @????: const-int(10) v3:I=10 <- .
77  @????: goto . <- .
78  next 005c
79
80method testStrings ()V
81first 0078
82block 0064
83  pred 007b
84  Blort.java:22@0000: move-param-object(0) v3:"this"LBlort; <- .
85  Blort.java:22@0000: goto . <- .
86  next 0000
87block 006b
88  pred 0000
89  Blort.java:22@0000: Rop{move-result-pseudo N0000Ljava/lang/StringBuilder; <-
90  . flows} v0:N0000Ljava/lang/StringBuilder; <- .
91  Blort.java:22@0000: goto . <- .
92  next 0003
93block 0000
94  pred 0064
95  Blort.java:22@0000: new-instance(java.lang.StringBuilder catch) . <- .
96  next 006b
97block 0003
98  pred 006b
99  Blort.java:22@0004: Rop{invoke-direct . <- Ljava/lang/StringBuilder; call thr
100  ows <any>}(java.lang.StringBuilder.<init>:()V catch) . <- v0:N0000Ljava/lang/
101  StringBuilder;
102  next 0007
103block 006c
104  pred 0007
105  Blort.java:24@0009: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
106  Ljava/lang/String;="foo" <- .
107  Blort.java:24@0009: goto . <- .
108  next 000b
109block 0007
110  pred 0003
111  @????: mark-local-object . <- v0:"sb"Ljava/lang/StringBuilder;
112  Blort.java:24@0009: const-object("foo" catch) . <- .
113  next 006c
114block 000b
115  pred 006c
116  Blort.java:24@000b: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
117  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
118  ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
119  ava/lang/String;="foo"
120  next 000e
121block 006e
122  pred 000e
123  Blort.java:25@0010: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
124  Ljava/lang/String;="foo" <- .
125  Blort.java:25@0010: goto . <- .
126  next 0012
127block 000e
128  pred 000b
129  Blort.java:25@0010: const-object("foo" catch) . <- .
130  next 006e
131block 0012
132  pred 006e
133  Blort.java:25@0012: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
134  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
135  ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
136  ava/lang/String;="foo"
137  next 0015
138block 0070
139  pred 0015
140  Blort.java:26@0017: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
141  Ljava/lang/String;="foo" <- .
142  Blort.java:26@0017: goto . <- .
143  next 0019
144block 0015
145  pred 0012
146  Blort.java:26@0017: const-object("foo" catch) . <- .
147  next 0070
148block 0019
149  pred 0070
150  Blort.java:26@0019: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
151  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
152  ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
153  ava/lang/String;="foo"
154  next 001c
155block 0072
156  pred 001c
157  Blort.java:27@001e: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
158  Ljava/lang/String;="foo" <- .
159  Blort.java:27@001e: goto . <- .
160  next 0020
161block 001c
162  pred 0019
163  Blort.java:27@001e: const-object("foo" catch) . <- .
164  next 0072
165block 0020
166  pred 0072
167  Blort.java:27@0020: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
168  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
169  ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
170  ava/lang/String;="foo"
171  next 0023
172block 0074
173  pred 0023
174  Blort.java:28@0025: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
175  Ljava/lang/String;="foo" <- .
176  Blort.java:28@0025: goto . <- .
177  next 0027
178block 0023
179  pred 0020
180  Blort.java:28@0025: const-object("foo" catch) . <- .
181  next 0074
182block 0027
183  pred 0074
184  Blort.java:28@0027: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
185  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
186  ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
187  ava/lang/String;="foo"
188  next 002a
189block 0076
190  pred 002a
191  Blort.java:29@002c: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
192  Ljava/lang/String;="foo" <- .
193  Blort.java:29@002c: goto . <- .
194  next 002e
195block 002a
196  pred 0027
197  Blort.java:29@002c: const-object("foo" catch) . <- .
198  next 0076
199block 002e
200  pred 0076
201  Blort.java:29@002e: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
202  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
203  ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
204  ava/lang/String;="foo"
205  next 0065
206block 0065
207  pred 002e
208  Blort.java:30@0032: return-void . <- .
209  returns
210block 0078
211  @????: goto . <- .
212  next 007a
213block 007a
214  pred 0078
215  @????: const-object("foo" catch) . <- .
216  next 007b
217block 007b
218  pred 007a
219  @????: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:Ljava/lang/St
220  ring;="foo" <- .
221  @????: goto . <- .
222  next 0064
223
224method testCaughtStrings ()V
225first 0094
226block 007e
227  pred 009e
228  Blort.java:33@0000: move-param-object(0) v5:"this"LBlort; <- .
229  Blort.java:33@0000: goto . <- .
230  next 0000
231block 0085
232  pred 0000
233  Blort.java:33@0000: Rop{move-result-pseudo N0000Ljava/lang/StringBuilder; <-
234  . flows} v0:N0000Ljava/lang/StringBuilder; <- .
235  Blort.java:33@0000: goto . <- .
236  next 0003
237block 0000
238  pred 007e
239  Blort.java:33@0000: new-instance(java.lang.StringBuilder catch) . <- .
240  next 0085
241block 0003
242  pred 0085
243  Blort.java:33@0004: Rop{invoke-direct . <- Ljava/lang/StringBuilder; call thr
244  ows <any>}(java.lang.StringBuilder.<init>:()V catch) . <- v0:N0000Ljava/lang/
245  StringBuilder;
246  next 0007
247block 0086
248  pred 0007
249  Blort.java:35@0009: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
250  Ljava/lang/String;="foo" <- .
251  Blort.java:35@0009: goto . <- .
252  next 000b
253block 0007
254  pred 0003
255  @????: mark-local-object . <- v0:"sb"Ljava/lang/StringBuilder;
256  Blort.java:35@0009: const-object("foo" catch) . <- .
257  next 0086
258block 000b
259  pred 0086
260  Blort.java:35@000b: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
261  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
262  ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v4:Lj
263  ava/lang/String;="foo"
264  next 000e
265block 0088
266  pred 000e
267  Blort.java:36@0010: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
268  Ljava/lang/String;="foo" <- .
269  Blort.java:36@0010: goto . <- .
270  next 0012
271block 000e
272  pred 000b
273  Blort.java:36@0010: const-object("foo" catch) . <- .
274  next 0088
275block 0012
276  pred 0088
277  Blort.java:36@0012: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
278  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
279  ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v4:Lj
280  ava/lang/String;="foo"
281  next 0015
282block 008a
283  pred 0015
284  Blort.java:37@0017: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
285  Ljava/lang/String;="foo" <- .
286  Blort.java:37@0017: goto . <- .
287  next 0019
288block 0015
289  pred 0012
290  Blort.java:37@0017: const-object("foo" catch) . <- .
291  next 008a
292block 0019
293  pred 008a
294  Blort.java:37@0019: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
295  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
296  ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v4:Lj
297  ava/lang/String;="foo"
298  next 001d
299block 008c
300  pred 001d
301  Blort.java:39@001e: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
302  Ljava/lang/String;="foo" <- .
303  Blort.java:39@001e: goto . <- .
304  next 0020
305block 001d
306  pred 0019
307  Blort.java:39@001e: const-object("foo" catch java.lang.Throwable) . <- .
308  next 0095
309  next 008c *
310block 0020
311  pred 008c
312  Blort.java:39@0020: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
313  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
314  ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/
315  StringBuilder; v2:Ljava/lang/String;="foo"
316  next 0095
317  next 0023 *
318block 008e
319  pred 0023
320  Blort.java:40@0025: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
321  Ljava/lang/String;="foo" <- .
322  Blort.java:40@0025: goto . <- .
323  next 0027
324block 0023
325  pred 0020
326  Blort.java:40@0025: const-object("foo" catch java.lang.Throwable) . <- .
327  next 0095
328  next 008e *
329block 0027
330  pred 008e
331  Blort.java:40@0027: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
332  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
333  ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/
334  StringBuilder; v2:Ljava/lang/String;="foo"
335  next 0095
336  next 002a *
337block 0090
338  pred 002a
339  Blort.java:41@002c: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
340  Ljava/lang/String;="foo" <- .
341  Blort.java:41@002c: goto . <- .
342  next 002e
343block 002a
344  pred 0027
345  Blort.java:41@002c: const-object("foo" catch java.lang.Throwable) . <- .
346  next 0095
347  next 0090 *
348block 002e
349  pred 0090
350  Blort.java:41@002e: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
351  ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
352  ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/
353  StringBuilder; v2:Ljava/lang/String;="foo"
354  next 0095
355  next 007f *
356block 0092
357  pred 0035
358  Blort.java:43@0036: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows}
359  v2:Ljava/io/PrintStream; <- .
360  Blort.java:43@0036: goto . <- .
361  next 0039
362block 0035
363  pred 0095
364  @????: mark-local-object . <- v1:"tr"Ljava/lang/Throwable;
365  Blort.java:43@0036: get-static-object(java.lang.System.out:Ljava/io/PrintStre
366  am; catch) . <- .
367  next 0092
368block 0093
369  pred 0039
370  Blort.java:43@0039: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v3:
371  Ljava/lang/String;="foo" <- .
372  Blort.java:43@0039: goto . <- .
373  next 003b
374block 0039
375  pred 0092
376  Blort.java:43@0039: const-object("foo" catch) . <- .
377  next 0093
378block 003b
379  pred 0093
380  Blort.java:43@003b: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/
381  String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V
382  catch) . <- v2:Ljava/io/PrintStream; v4:Ljava/lang/String;="foo"
383  next 007f
384block 007f
385  pred 002e
386  pred 003b
387  Blort.java:45@003e: return-void . <- .
388  returns
389block 0094
390  @????: goto . <- .
391  next 009d
392block 0095
393  pred 001d
394  pred 0020
395  pred 0023
396  pred 0027
397  pred 002a
398  pred 002e
399  Blort.java:42@0035: Rop{move-exception Ljava/lang/Throwable; <- . flows} v2:L
400  java/lang/Throwable; <- .
401  @????: move-object v1:Ljava/lang/Throwable; <- v2:Ljava/lang/Throwable;
402  @????: goto . <- .
403  next 0035
404block 009d
405  pred 0094
406  @????: const-object("foo" catch) . <- .
407  next 009e
408block 009e
409  pred 009d
410  @????: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v4:Ljava/lang/St
411  ring;="foo" <- .
412  @????: goto . <- .
413  next 007e
414
415method testLocalVars ()V
416first 0004
417block 0002
418  pred 0004
419  Blort.java:49@0000: move-param-object(0) v6:"this"LBlort; <- .
420  Blort.java:49@0000: goto . <- .
421  next 0000
422block 0000
423  pred 0002
424  Blort.java:49@0000: const-int(10) v3:I=10 <- .
425  @????: mark-local-int . <- v3:"i"I
426  Blort.java:50@0003: const-int(10) v4:I=10 <- .
427  @????: mark-local-int . <- v4:"j"I
428  Blort.java:51@0006: const-int(10) v5:I=10 <- .
429  @????: mark-local-int . <- v5:"k"I
430  Blort.java:52@0009: const-int(10) v0:I=10 <- .
431  @????: mark-local-int . <- v0:"a"I
432  Blort.java:53@000d: const-int(10) v1:I=10 <- .
433  @????: mark-local-int . <- v1:"b"I
434  Blort.java:54@0011: const-int(10) v2:I=10 <- .
435  @????: mark-local-int . <- v2:"c"I
436  Blort.java:56@0018: mul-const-int(10) v3:I <- v3:I
437  @????: mark-local-int . <- v3:"i"I=100
438  Blort.java:57@001a: goto . <- .
439  next 0003
440block 0003
441  pred 0000
442  Blort.java:57@001a: return-void . <- .
443  returns
444block 0004
445  @????: goto . <- .
446  next 0002
447
448method testNull (Ljava/lang/Object;)V
449first 0021
450block 0018
451  pred 0021
452  Blort.java:60@0000: move-param-object(0) v1:"this"LBlort; <- .
453  Blort.java:60@0000: move-param-object(1) v2:"a"Ljava/lang/Object; <- .
454  Blort.java:60@0000: goto . <- .
455  next 0000
456block 0000
457  pred 0018
458  Blort.java:60@0002: Rop{invoke-virtual . <- Ljava/lang/Object; Ljava/lang/Obj
459  ect; call throws <any>}(java.lang.Object.equals:(Ljava/lang/Object;)Z catch)
460  . <- v2:Ljava/lang/Object; v0:<null>=null
461  next 0005
462block 0005
463  pred 0000
464  Blort.java:61@0008: Rop{invoke-virtual . <- Ljava/lang/Object; Ljava/lang/Obj
465  ect; call throws <any>}(java.lang.Object.equals:(Ljava/lang/Object;)Z catch)
466  . <- v2:Ljava/lang/Object; v0:<null>=null
467  next 0019
468block 0019
469  pred 0005
470  Blort.java:63@000c: return-void . <- .
471  returns
472block 0021
473  @????: const-object-nothrow(null) v0:<null>=null <- .
474  @????: goto . <- .
475  next 0018
476