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