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