1reading Blort.class...
2method <init> ()V
3first 0007
4block 0000
5  pred 0005
6  Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any
7  >}(java.lang.Object.<init>:()V catch) . <- v0:NffffLBlort;
8  next 0006
9block 0005
10  pred 0007
11  Blort.java:2@0000: move-param-object(0) v0:"this"NffffLBlort; <- .
12  Blort.java:2@0000: goto . <- .
13  next 0000
14block 0006
15  pred 0000
16  Blort.java:2@0004: return-void . <- .
17  returns
18block 0007
19  @????: goto . <- .
20  next 0005
21
22method methodThatNeedsInvokeRange (IIIIII)V
23first 0003
24block 0001
25  pred 0003
26  Blort.java:6@0000: move-param-int(0) v0:"a"I <- .
27  Blort.java:6@0000: move-param-int(1) v1:"b"I <- .
28  Blort.java:6@0000: move-param-int(2) v2:"c"I <- .
29  Blort.java:6@0000: move-param-int(3) v3:"d"I <- .
30  Blort.java:6@0000: move-param-int(4) v4:"e"I <- .
31  Blort.java:6@0000: move-param-int(5) v5:"f"I <- .
32  Blort.java:6@0000: goto . <- .
33  next 0002
34block 0002
35  pred 0001
36  Blort.java:6@0000: return-void . <- .
37  returns
38block 0003
39  @????: goto . <- .
40  next 0001
41
42method testNoLocals ()V
43first 000c
44block 0000
45  pred 000a
46  @????: move-int v2:I=5 <- v0:I=5
47  @????: move-int v3:I=0 <- v1:I=0
48  @????: move-int v4:I=5 <- v0:I=5
49  @????: move-int v5:I=0 <- v1:I=0
50  Blort.java:9@0006: Rop{invoke-static . <- I I I I I I call throws <any>}(Blor
51  t.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I=5 v1:I=0 v2:I=5 v3:I=
52  0 v4:I=5 v5:I=0
53  next 000b
54block 000a
55  pred 000c
56  Blort.java:9@0000: move-param-object(0) v6:"this"LBlort; <- .
57  Blort.java:9@0000: goto . <- .
58  next 0000
59block 000b
60  pred 0000
61  Blort.java:10@0009: return-void . <- .
62  returns
63block 000c
64  @????: const-int(5) v0:I=5 <- .
65  @????: const-int(0) v1:I=0 <- .
66  @????: goto . <- .
67  next 000a
68
69method testMixedLocals ()V
70first 001b
71block 0000
72  pred 0019
73  Blort.java:13@0000: const-int(6) v0:I=6 <- .
74  @????: mark-local-int . <- v0:"src"I
75  Blort.java:14@0003: const-int(7) v2:I=7 <- .
76  @????: mark-local-int . <- v2:"dest"I
77  @????: move-int v5:I=0 <- v1:I=0
78  Blort.java:16@000c: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo
79  rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I=0 v2:I v3:I=1 v
80  4:I=5 v5:I=0
81  next 000f
82block 000f
83  pred 0000
84  @????: move-int v5:I=0 <- v1:I=0
85  Blort.java:17@0015: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo
86  rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I=0 v2:I v3:I=1 v
87  4:I=5 v5:I=0
88  next 001a
89block 0019
90  pred 001b
91  Blort.java:13@0000: move-param-object(0) v6:"this"LBlort; <- .
92  Blort.java:13@0000: goto . <- .
93  next 0000
94block 001a
95  pred 000f
96  Blort.java:18@0018: return-void . <- .
97  returns
98block 001b
99  @????: const-int(5) v4:I=5 <- .
100  @????: const-int(1) v3:I=1 <- .
101  @????: const-int(0) v1:I=0 <- .
102  @????: goto . <- .
103  next 0019
104
105method testMixedWorseCase ()V
106first 001d
107block 0000
108  pred 001b
109  Blort.java:24@0000: const-int(6) v0:I=6 <- .
110  @????: mark-local-int . <- v0:"src"I
111  Blort.java:25@0003: const-int(7) v2:I=7 <- .
112  @????: mark-local-int . <- v2:"dest"I
113  Blort.java:26@0006: const-int(0) v1:I=0 <- .
114  @????: mark-local-int . <- v1:"zero"I
115  Blort.java:28@000e: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo
116  rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I v2:I v3:I=1 v4:
117  I=5 v5:I=0
118  next 0011
119block 0011
120  pred 0000
121  @????: move-int v6:I <- v0:I
122  @????: move-int v7:I=0 <- v5:I=0
123  @????: move-int v8:I <- v2:I
124  @????: move-int v9:I=1 <- v3:I=1
125  @????: move-int v10:I=5 <- v4:I=5
126  @????: move-int v11:I=0 <- v5:I=0
127  Blort.java:29@0017: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo
128  rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v6:I v7:I=0 v8:I v9:I=1 v
129  10:I=5 v11:I=0
130  next 001c
131block 001b
132  pred 001d
133  Blort.java:24@0000: move-param-object(0) v12:"this"LBlort; <- .
134  Blort.java:24@0000: goto . <- .
135  next 0000
136block 001c
137  pred 0011
138  Blort.java:30@001a: return-void . <- .
139  returns
140block 001d
141  @????: const-int(5) v4:I=5 <- .
142  @????: const-int(1) v3:I=1 <- .
143  @????: const-int(0) v5:I=0 <- .
144  @????: goto . <- .
145  next 001b
146
147method testAllParams (IIIIII)V
148first 000f
149block 0000
150  pred 000d
151  Blort.java:33@0009: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo
152  rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v1:I v2:I v3:I v4:I v5:I
153  v6:I
154  next 000e
155block 000d
156  pred 000f
157  Blort.java:33@0000: move-param-object(0) v0:"this"LBlort; <- .
158  Blort.java:33@0000: move-param-int(1) v1:"a"I <- .
159  Blort.java:33@0000: move-param-int(2) v2:"b"I <- .
160  Blort.java:33@0000: move-param-int(3) v3:"c"I <- .
161  Blort.java:33@0000: move-param-int(4) v4:"d"I <- .
162  Blort.java:33@0000: move-param-int(5) v5:"e"I <- .
163  Blort.java:33@0000: move-param-int(6) v6:"f"I <- .
164  Blort.java:33@0000: goto . <- .
165  next 0000
166block 000e
167  pred 0000
168  Blort.java:34@000c: return-void . <- .
169  returns
170block 000f
171  @????: goto . <- .
172  next 000d
173
174method testTailParams (II)V
175first 0012
176block 0000
177  pred 0010
178  Blort.java:38@0000: const-int(6) v0:I=6 <- .
179  @????: mark-local-int . <- v0:"src"I
180  Blort.java:39@0003: const-int(7) v2:I=7 <- .
181  @????: mark-local-int . <- v2:"dest"I
182  @????: move-int v3:I=0 <- v1:I=0
183  @????: move-int v4:I <- v6:I
184  @????: move-int v5:I <- v7:I
185  Blort.java:41@000c: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo
186  rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I=0 v2:I v3:I=0 v
187  4:I v5:I
188  next 0011
189block 0010
190  pred 0012
191  Blort.java:38@0000: move-param-int(0) v6:"destPos"I <- .
192  Blort.java:38@0000: move-param-int(1) v7:"length"I <- .
193  Blort.java:38@0000: goto . <- .
194  next 0000
195block 0011
196  pred 0000
197  Blort.java:42@000f: return-void . <- .
198  returns
199block 0012
200  @????: const-int(0) v1:I=0 <- .
201  @????: goto . <- .
202  next 0010
203
204method testFlip ()V
205first 001b
206block 0000
207  pred 0019
208  Blort.java:47@0000: const-int(6) v0:I=6 <- .
209  @????: mark-local-int . <- v0:"src"I
210  Blort.java:48@0003: const-int(7) v2:I=7 <- .
211  @????: mark-local-int . <- v2:"dest"I
212  @????: move-int v5:I=0 <- v1:I=0
213  Blort.java:50@000c: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo
214  rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I=0 v2:I v3:I=1 v
215  4:I=5 v5:I=0
216  next 000f
217block 000f
218  pred 0000
219  @????: move-int v5:I <- v2:I
220  @????: move-int v6:I=0 <- v1:I=0
221  @????: move-int v7:I <- v0:I
222  @????: move-int v8:I=1 <- v3:I=1
223  @????: move-int v9:I=5 <- v4:I=5
224  @????: move-int v10:I=0 <- v1:I=0
225  Blort.java:51@0015: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo
226  rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v5:I v6:I=0 v7:I v8:I=1 v
227  9:I=5 v10:I=0
228  next 001a
229block 0019
230  pred 001b
231  Blort.java:47@0000: move-param-object(0) v11:"this"LBlort; <- .
232  Blort.java:47@0000: goto . <- .
233  next 0000
234block 001a
235  pred 000f
236  Blort.java:52@0018: return-void . <- .
237  returns
238block 001b
239  @????: const-int(5) v4:I=5 <- .
240  @????: const-int(1) v3:I=1 <- .
241  @????: const-int(0) v1:I=0 <- .
242  @????: goto . <- .
243  next 0019
244
245method testMixedCategory (Z)J
246first 0026
247block 0000
248  pred 001e
249  Blort.java:57@0001: if-eqz-int . <- v9:I
250  next 0004 *
251  next 001a
252block 0004
253  pred 0000
254  Blort.java:58@0004: const-int(1) v3:I=1 <- .
255  @????: mark-local-int . <- v3:"offset"I
256  Blort.java:59@0006: const-int(6) v0:I=6 <- .
257  @????: mark-local-int . <- v0:"src"I
258  Blort.java:60@0009: const-int(7) v2:I=7 <- .
259  @????: mark-local-int . <- v2:"dest"I
260  Blort.java:62@0012: const-int(5) v4:I=5 <- .
261  @????: move-int v5:I=0 <- v1:I=0
262  Blort.java:62@0014: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo
263  rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I=0 v2:I v3:I v4:
264  I=5 v5:I=0
265  next 0017
266block 0017
267  pred 0004
268  Blort.java:63@0018: conv-i2l v6:J <- v3:I
269  Blort.java:63@0019: goto . <- .
270  next 001f
271block 001a
272  pred 0000
273  Blort.java:65@001a: Rop{invoke-static . <- . call throws <any>}(java.lang.Sys
274  tem.currentTimeMillis:()J catch) . <- .
275  next 0025
276block 001d
277  pred 0025
278  @????: mark-local-long . <- v6:"offset"J
279  Blort.java:66@001f: goto . <- .
280  next 001f
281block 001e
282  pred 0026
283  Blort.java:57@0000: move-param-object(0) v8:"this"LBlort; <- .
284  Blort.java:57@0000: move-param-int(1) v9:"foo"Z <- .
285  Blort.java:57@0000: goto . <- .
286  next 0000
287block 001f
288  pred 0017
289  pred 001d
290  Blort.java:66@001f: return-long . <- v6:J
291  returns
292block 0025
293  pred 001a
294  Blort.java:65@001a: Rop{move-result J <- . flows} v6:J <- .
295  Blort.java:65@001a: goto . <- .
296  next 001d
297block 0026
298  @????: const-int(0) v1:I=0 <- .
299  @????: goto . <- .
300  next 001e
301