1*f0dffb02SXin Li 2*f0dffb02SXin Limethod Target.<init>():void 3*f0dffb02SXin Li{ 4*f0dffb02SXin Li............................. begin block 1 ............................. 5*f0dffb02SXin Li .src "exitHooks.java" 6*f0dffb02SXin Li .line 28 7*f0dffb02SXin Li .prologue_end 8*f0dffb02SXin Li .line 28 9*f0dffb02SXin Li 0| move-object v0, v2 10*f0dffb02SXin Li .local v0, "this", Target 11*f0dffb02SXin Li 1| move-object v1, v0 12*f0dffb02SXin Li 2| invoke-direct {v1}, java.lang.Object.<init>():void 13*f0dffb02SXin Li.............................. end block 1 .............................. 14*f0dffb02SXin Li............................. begin block 2 ............................. 15*f0dffb02SXin Li 5| return-void 16*f0dffb02SXin Li.............................. end block 2 .............................. 17*f0dffb02SXin Li} 18*f0dffb02SXin Li 19*f0dffb02SXin Limethod Target.main(java.lang.String[]):void 20*f0dffb02SXin Li{ 21*f0dffb02SXin Li............................. begin block 1 ............................. 22*f0dffb02SXin Li .params "?" 23*f0dffb02SXin Li .src "exitHooks.java" 24*f0dffb02SXin Li .line 32 25*f0dffb02SXin Li .prologue_end 26*f0dffb02SXin Li .line 32 27*f0dffb02SXin Li 0| move-object v0, v3 28*f0dffb02SXin Li .local v0, "args", java.lang.String[] 29*f0dffb02SXin Li 1| sget-object v1, java.lang.System.out 30*f0dffb02SXin Li.............................. end block 1 .............................. 31*f0dffb02SXin Li............................. begin block 2 ............................. 32*f0dffb02SXin Li 3| const-string v2, "Hello, world!\n{" 33*f0dffb02SXin Li.............................. end block 2 .............................. 34*f0dffb02SXin Li............................. begin block 3 ............................. 35*f0dffb02SXin Li 5| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 36*f0dffb02SXin Li.............................. end block 3 .............................. 37*f0dffb02SXin Li............................. begin block 4 ............................. 38*f0dffb02SXin Li .line 33 39*f0dffb02SXin Li 8| invoke-static {}, Target.test():void 40*f0dffb02SXin Li.............................. end block 4 .............................. 41*f0dffb02SXin Li............................. begin block 5 ............................. 42*f0dffb02SXin Li .line 34 43*f0dffb02SXin Li 11| sget-object v1, java.lang.System.out 44*f0dffb02SXin Li.............................. end block 5 .............................. 45*f0dffb02SXin Li............................. begin block 6 ............................. 46*f0dffb02SXin Li 13| const-string v2, "}\nGood bye!" 47*f0dffb02SXin Li.............................. end block 6 .............................. 48*f0dffb02SXin Li............................. begin block 7 ............................. 49*f0dffb02SXin Li 15| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 50*f0dffb02SXin Li.............................. end block 7 .............................. 51*f0dffb02SXin Li............................. begin block 8 ............................. 52*f0dffb02SXin Li .line 35 53*f0dffb02SXin Li 18| return-void 54*f0dffb02SXin Li.............................. end block 8 .............................. 55*f0dffb02SXin Li} 56*f0dffb02SXin Li 57*f0dffb02SXin Limethod Target.test():void 58*f0dffb02SXin Li{ 59*f0dffb02SXin Li............................. begin block 1 ............................. 60*f0dffb02SXin Li .src "exitHooks.java" 61*f0dffb02SXin Li .line 39 62*f0dffb02SXin Li .prologue_end 63*f0dffb02SXin Li .line 39 64*f0dffb02SXin Li 0| new-instance v1, Target 65*f0dffb02SXin Li.............................. end block 1 .............................. 66*f0dffb02SXin Li............................. begin block 2 ............................. 67*f0dffb02SXin Li 2| move-object v8, v1 68*f0dffb02SXin Li 3| move-object v1, v8 69*f0dffb02SXin Li 4| move-object v2, v8 70*f0dffb02SXin Li 5| invoke-direct {v2}, Target.<init>():void 71*f0dffb02SXin Li.............................. end block 2 .............................. 72*f0dffb02SXin Li............................. begin block 3 ............................. 73*f0dffb02SXin Li 8| move-object v0, v1 74*f0dffb02SXin Li .line 40 75*f0dffb02SXin Li .local v0, "obj", Target 76*f0dffb02SXin Li 9| sget-object v1, java.lang.System.out 77*f0dffb02SXin Li.............................. end block 3 .............................. 78*f0dffb02SXin Li............................. begin block 4 ............................. 79*f0dffb02SXin Li 11| const-string v2, "Object(true) : %s\n" 80*f0dffb02SXin Li.............................. end block 4 .............................. 81*f0dffb02SXin Li............................. begin block 5 ............................. 82*f0dffb02SXin Li 13| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 83*f0dffb02SXin Li 14| new-array v3, v3, java.lang.Object[] 84*f0dffb02SXin Li.............................. end block 5 .............................. 85*f0dffb02SXin Li............................. begin block 6 ............................. 86*f0dffb02SXin Li 16| move-object v8, v3 87*f0dffb02SXin Li 17| move-object v3, v8 88*f0dffb02SXin Li 18| move-object v4, v8 89*f0dffb02SXin Li 19| const/4 v5, #+0 (0x00000000 | 0.00000) 90*f0dffb02SXin Li 20| move-object v6, v0 91*f0dffb02SXin Li 21| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 92*f0dffb02SXin Li 22| invoke-virtual {v6,v7}, Target.testObject(boolean):java.lang.Object 93*f0dffb02SXin Li.............................. end block 6 .............................. 94*f0dffb02SXin Li............................. begin block 7 ............................. 95*f0dffb02SXin Li 25| move-result-object v6 96*f0dffb02SXin Li 26| aput-object v6, v4, v5 97*f0dffb02SXin Li.............................. end block 7 .............................. 98*f0dffb02SXin Li............................. begin block 8 ............................. 99*f0dffb02SXin Li 28| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 100*f0dffb02SXin Li.............................. end block 8 .............................. 101*f0dffb02SXin Li............................. begin block 9 ............................. 102*f0dffb02SXin Li 31| move-result-object v1 103*f0dffb02SXin Li .line 41 104*f0dffb02SXin Li 32| sget-object v1, java.lang.System.out 105*f0dffb02SXin Li.............................. end block 9 .............................. 106*f0dffb02SXin Li............................. begin block 10 ............................. 107*f0dffb02SXin Li 34| const-string v2, "Object(false) : %s\n" 108*f0dffb02SXin Li.............................. end block 10 .............................. 109*f0dffb02SXin Li............................. begin block 11 ............................. 110*f0dffb02SXin Li 36| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 111*f0dffb02SXin Li 37| new-array v3, v3, java.lang.Object[] 112*f0dffb02SXin Li.............................. end block 11 .............................. 113*f0dffb02SXin Li............................. begin block 12 ............................. 114*f0dffb02SXin Li 39| move-object v8, v3 115*f0dffb02SXin Li 40| move-object v3, v8 116*f0dffb02SXin Li 41| move-object v4, v8 117*f0dffb02SXin Li 42| const/4 v5, #+0 (0x00000000 | 0.00000) 118*f0dffb02SXin Li 43| move-object v6, v0 119*f0dffb02SXin Li 44| const/4 v7, #+0 (0x00000000 | 0.00000) 120*f0dffb02SXin Li 45| invoke-virtual {v6,v7}, Target.testObject(boolean):java.lang.Object 121*f0dffb02SXin Li.............................. end block 12 .............................. 122*f0dffb02SXin Li............................. begin block 13 ............................. 123*f0dffb02SXin Li 48| move-result-object v6 124*f0dffb02SXin Li 49| aput-object v6, v4, v5 125*f0dffb02SXin Li.............................. end block 13 .............................. 126*f0dffb02SXin Li............................. begin block 14 ............................. 127*f0dffb02SXin Li 51| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 128*f0dffb02SXin Li.............................. end block 14 .............................. 129*f0dffb02SXin Li............................. begin block 15 ............................. 130*f0dffb02SXin Li 54| move-result-object v1 131*f0dffb02SXin Li .line 42 132*f0dffb02SXin Li 55| sget-object v1, java.lang.System.out 133*f0dffb02SXin Li.............................. end block 15 .............................. 134*f0dffb02SXin Li............................. begin block 16 ............................. 135*f0dffb02SXin Li 57| const-string v2, "double : %s\n" 136*f0dffb02SXin Li.............................. end block 16 .............................. 137*f0dffb02SXin Li............................. begin block 17 ............................. 138*f0dffb02SXin Li 59| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 139*f0dffb02SXin Li 60| new-array v3, v3, java.lang.Object[] 140*f0dffb02SXin Li.............................. end block 17 .............................. 141*f0dffb02SXin Li............................. begin block 18 ............................. 142*f0dffb02SXin Li 62| move-object v8, v3 143*f0dffb02SXin Li 63| move-object v3, v8 144*f0dffb02SXin Li 64| move-object v4, v8 145*f0dffb02SXin Li 65| const/4 v5, #+0 (0x00000000 | 0.00000) 146*f0dffb02SXin Li 66| move-object v6, v0 147*f0dffb02SXin Li 67| const/4 v7, #+3 (0x00000003 | 4.20390e-45) 148*f0dffb02SXin Li 68| invoke-virtual {v6,v7}, Target.testDouble(int):double 149*f0dffb02SXin Li.............................. end block 18 .............................. 150*f0dffb02SXin Li............................. begin block 19 ............................. 151*f0dffb02SXin Li 71| move-result-wide v6:v7 152*f0dffb02SXin Li 72| invoke-static {v6,v7}, java.lang.Double.valueOf(double):java.lang.Double 153*f0dffb02SXin Li.............................. end block 19 .............................. 154*f0dffb02SXin Li............................. begin block 20 ............................. 155*f0dffb02SXin Li 75| move-result-object v6 156*f0dffb02SXin Li 76| aput-object v6, v4, v5 157*f0dffb02SXin Li.............................. end block 20 .............................. 158*f0dffb02SXin Li............................. begin block 21 ............................. 159*f0dffb02SXin Li 78| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 160*f0dffb02SXin Li.............................. end block 21 .............................. 161*f0dffb02SXin Li............................. begin block 22 ............................. 162*f0dffb02SXin Li 81| move-result-object v1 163*f0dffb02SXin Li .line 43 164*f0dffb02SXin Li 82| sget-object v1, java.lang.System.out 165*f0dffb02SXin Li.............................. end block 22 .............................. 166*f0dffb02SXin Li............................. begin block 23 ............................. 167*f0dffb02SXin Li 84| const-string v2, "int : %s\n" 168*f0dffb02SXin Li.............................. end block 23 .............................. 169*f0dffb02SXin Li............................. begin block 24 ............................. 170*f0dffb02SXin Li 86| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 171*f0dffb02SXin Li 87| new-array v3, v3, java.lang.Object[] 172*f0dffb02SXin Li.............................. end block 24 .............................. 173*f0dffb02SXin Li............................. begin block 25 ............................. 174*f0dffb02SXin Li 89| move-object v8, v3 175*f0dffb02SXin Li 90| move-object v3, v8 176*f0dffb02SXin Li 91| move-object v4, v8 177*f0dffb02SXin Li 92| const/4 v5, #+0 (0x00000000 | 0.00000) 178*f0dffb02SXin Li 93| move-object v6, v0 179*f0dffb02SXin Li 94| const/16 v7, #+100 (0x00000064 | 1.40130e-43) 180*f0dffb02SXin Li 96| invoke-virtual {v6,v7}, Target.testInt(int):int 181*f0dffb02SXin Li.............................. end block 25 .............................. 182*f0dffb02SXin Li............................. begin block 26 ............................. 183*f0dffb02SXin Li 99| move-result v6 184*f0dffb02SXin Li 100| invoke-static {v6}, java.lang.Integer.valueOf(int):java.lang.Integer 185*f0dffb02SXin Li.............................. end block 26 .............................. 186*f0dffb02SXin Li............................. begin block 27 ............................. 187*f0dffb02SXin Li 103| move-result-object v6 188*f0dffb02SXin Li 104| aput-object v6, v4, v5 189*f0dffb02SXin Li.............................. end block 27 .............................. 190*f0dffb02SXin Li............................. begin block 28 ............................. 191*f0dffb02SXin Li 106| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 192*f0dffb02SXin Li.............................. end block 28 .............................. 193*f0dffb02SXin Li............................. begin block 29 ............................. 194*f0dffb02SXin Li 109| move-result-object v1 195*f0dffb02SXin Li .line 44 196*f0dffb02SXin Li 110| move-object v1, v0 197*f0dffb02SXin Li 111| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 198*f0dffb02SXin Li 112| invoke-virtual {v1,v2}, Target.testVoid(boolean):void 199*f0dffb02SXin Li.............................. end block 29 .............................. 200*f0dffb02SXin Li............................. begin block 30 ............................. 201*f0dffb02SXin Li .line 45 202*f0dffb02SXin Li 115| return-void 203*f0dffb02SXin Li.............................. end block 30 .............................. 204*f0dffb02SXin Li} 205*f0dffb02SXin Li 206*f0dffb02SXin Limethod Target.testDouble(int):double 207*f0dffb02SXin Li{ 208*f0dffb02SXin Li............................. begin block 1 ............................. 209*f0dffb02SXin Li .params "?" 210*f0dffb02SXin Li .src "exitHooks.java" 211*f0dffb02SXin Li .line 60 212*f0dffb02SXin Li .prologue_end 213*f0dffb02SXin Li .line 60 214*f0dffb02SXin Li 0| move-object v0, v4 215*f0dffb02SXin Li .local v0, "this", Target 216*f0dffb02SXin Li 1| move v1, v5 217*f0dffb02SXin Li .local v1, "n", int 218*f0dffb02SXin Li 2| move v2, v1 219*f0dffb02SXin Li 3| packed-switch v2, Label_5 220*f0dffb02SXin Li.............................. end block 1 .............................. 221*f0dffb02SXin Li............................. begin block 2 ............................. 222*f0dffb02SXin Li .line 65 223*f0dffb02SXin Li 6| const-wide v2:v3, #+4621762822593629389 (0x4023cccccccccccd | 9.90000) 224*f0dffb02SXin Li 11| move-wide v0:v1, v2:v3 225*f0dffb02SXin Li.............................. end block 2 .............................. 226*f0dffb02SXin Li............................. begin block 3 ............................. 227*f0dffb02SXin LiLabel_1: 228*f0dffb02SXin Li .end_local v0 229*f0dffb02SXin Li 12| return-wide v0:v1 230*f0dffb02SXin Li.............................. end block 3 .............................. 231*f0dffb02SXin Li............................. begin block 4 ............................. 232*f0dffb02SXin LiLabel_2: 233*f0dffb02SXin Li .line 62 234*f0dffb02SXin Li .restart_local v0 235*f0dffb02SXin Li 13| const-wide v2:v3, #+4607632778762754458 (0x3ff199999999999a | 1.10000) 236*f0dffb02SXin Li 18| move-wide v0:v1, v2:v3 237*f0dffb02SXin Li 19| goto Label_1 238*f0dffb02SXin Li.............................. end block 4 .............................. 239*f0dffb02SXin Li............................. begin block 5 ............................. 240*f0dffb02SXin LiLabel_3: 241*f0dffb02SXin Li .line 63 242*f0dffb02SXin Li 20| const-wide v2:v3, #+4612136378390124954 (0x400199999999999a | 2.20000) 243*f0dffb02SXin Li 25| move-wide v0:v1, v2:v3 244*f0dffb02SXin Li 26| goto Label_1 245*f0dffb02SXin Li.............................. end block 5 .............................. 246*f0dffb02SXin Li............................. begin block 6 ............................. 247*f0dffb02SXin LiLabel_4: 248*f0dffb02SXin Li .line 64 249*f0dffb02SXin Li 27| const-wide v2:v3, #+4614613358185178726 (0x400a666666666666 | 3.30000) 250*f0dffb02SXin Li 32| move-wide v0:v1, v2:v3 251*f0dffb02SXin Li 33| goto Label_1 252*f0dffb02SXin Li.............................. end block 6 .............................. 253*f0dffb02SXin LiLabel_5: <aligned> 254*f0dffb02SXin Li .line 60 255*f0dffb02SXin Li 34| packed-switch-payload 256*f0dffb02SXin Li 1: Label_2 257*f0dffb02SXin Li 2: Label_3 258*f0dffb02SXin Li 3: Label_4 259*f0dffb02SXin Li} 260*f0dffb02SXin Li 261*f0dffb02SXin Limethod Target.testInt(int):int 262*f0dffb02SXin Li{ 263*f0dffb02SXin Li............................. begin block 1 ............................. 264*f0dffb02SXin Li .params "?" 265*f0dffb02SXin Li .src "exitHooks.java" 266*f0dffb02SXin Li .line 71 267*f0dffb02SXin Li .prologue_end 268*f0dffb02SXin Li .line 71 269*f0dffb02SXin Li 0| move-object v0, v3 270*f0dffb02SXin Li .local v0, "this", Target 271*f0dffb02SXin Li 1| move v1, v4 272*f0dffb02SXin Li .local v1, "n", int 273*f0dffb02SXin Li 2| move v2, v1 274*f0dffb02SXin Li 3| sparse-switch v2, Label_5 275*f0dffb02SXin Li.............................. end block 1 .............................. 276*f0dffb02SXin Li............................. begin block 2 ............................. 277*f0dffb02SXin Li .line 76 278*f0dffb02SXin Li 6| const/16 v2, #+123 (0x0000007b | 1.72360e-43) 279*f0dffb02SXin Li 8| move v0, v2 280*f0dffb02SXin Li.............................. end block 2 .............................. 281*f0dffb02SXin Li............................. begin block 3 ............................. 282*f0dffb02SXin LiLabel_1: 283*f0dffb02SXin Li .end_local v0 284*f0dffb02SXin Li 9| return v0 285*f0dffb02SXin Li.............................. end block 3 .............................. 286*f0dffb02SXin Li............................. begin block 4 ............................. 287*f0dffb02SXin LiLabel_2: 288*f0dffb02SXin Li .line 73 289*f0dffb02SXin Li .restart_local v0 290*f0dffb02SXin Li 10| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 291*f0dffb02SXin Li 11| move v0, v2 292*f0dffb02SXin Li 12| goto Label_1 293*f0dffb02SXin Li.............................. end block 4 .............................. 294*f0dffb02SXin Li............................. begin block 5 ............................. 295*f0dffb02SXin LiLabel_3: 296*f0dffb02SXin Li .line 74 297*f0dffb02SXin Li 13| const/4 v2, #+2 (0x00000002 | 2.80260e-45) 298*f0dffb02SXin Li 14| move v0, v2 299*f0dffb02SXin Li 15| goto Label_1 300*f0dffb02SXin Li.............................. end block 5 .............................. 301*f0dffb02SXin Li............................. begin block 6 ............................. 302*f0dffb02SXin LiLabel_4: 303*f0dffb02SXin Li .line 75 304*f0dffb02SXin Li 16| const/4 v2, #+3 (0x00000003 | 4.20390e-45) 305*f0dffb02SXin Li 17| move v0, v2 306*f0dffb02SXin Li 18| goto Label_1 307*f0dffb02SXin Li.............................. end block 6 .............................. 308*f0dffb02SXin Li............................. begin block 7 ............................. 309*f0dffb02SXin Li .line 71 310*f0dffb02SXin Li 19| nop 311*f0dffb02SXin Li.............................. end block 7 .............................. 312*f0dffb02SXin LiLabel_5: <aligned> 313*f0dffb02SXin Li 20| sparse-switch-payload 314*f0dffb02SXin Li 10: Label_2 315*f0dffb02SXin Li 20: Label_3 316*f0dffb02SXin Li 30: Label_4 317*f0dffb02SXin Li} 318*f0dffb02SXin Li 319*f0dffb02SXin Limethod Target.testObject(boolean):java.lang.Object 320*f0dffb02SXin Li{ 321*f0dffb02SXin Li............................. begin block 1 ............................. 322*f0dffb02SXin Li .params "?" 323*f0dffb02SXin Li .src "exitHooks.java" 324*f0dffb02SXin Li .line 49 325*f0dffb02SXin Li .prologue_end 326*f0dffb02SXin Li .line 49 327*f0dffb02SXin Li 0| move-object v0, v5 328*f0dffb02SXin Li .local v0, "this", Target 329*f0dffb02SXin Li 1| move v1, v6 330*f0dffb02SXin Li .local v1, "flag", boolean 331*f0dffb02SXin Li 2| move v2, v1 332*f0dffb02SXin Li 3| if-eqz v2, Label_2 333*f0dffb02SXin Li.............................. end block 1 .............................. 334*f0dffb02SXin Li............................. begin block 2 ............................. 335*f0dffb02SXin Li .line 51 336*f0dffb02SXin Li 5| sget-object v2, java.lang.System.out 337*f0dffb02SXin Li.............................. end block 2 .............................. 338*f0dffb02SXin Li............................. begin block 3 ............................. 339*f0dffb02SXin Li 7| const-string v3, "Flag!\n" 340*f0dffb02SXin Li.............................. end block 3 .............................. 341*f0dffb02SXin Li............................. begin block 4 ............................. 342*f0dffb02SXin Li 9| const/4 v4, #+0 (0x00000000 | 0.00000) 343*f0dffb02SXin Li 10| new-array v4, v4, java.lang.Object[] 344*f0dffb02SXin Li.............................. end block 4 .............................. 345*f0dffb02SXin Li............................. begin block 5 ............................. 346*f0dffb02SXin Li 12| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 347*f0dffb02SXin Li.............................. end block 5 .............................. 348*f0dffb02SXin Li............................. begin block 6 ............................. 349*f0dffb02SXin Li 15| move-result-object v2 350*f0dffb02SXin Li .line 52 351*f0dffb02SXin Li 16| const-string v2, "Sigh" 352*f0dffb02SXin Li.............................. end block 6 .............................. 353*f0dffb02SXin Li............................. begin block 7 ............................. 354*f0dffb02SXin Li 18| move-object v0, v2 355*f0dffb02SXin Li.............................. end block 7 .............................. 356*f0dffb02SXin Li............................. begin block 8 ............................. 357*f0dffb02SXin LiLabel_1: 358*f0dffb02SXin Li .line 55 359*f0dffb02SXin Li .end_local v0 360*f0dffb02SXin Li 19| return-object v0 361*f0dffb02SXin Li.............................. end block 8 .............................. 362*f0dffb02SXin Li............................. begin block 9 ............................. 363*f0dffb02SXin LiLabel_2: 364*f0dffb02SXin Li .restart_local v0 365*f0dffb02SXin Li 20| const-string v2, "Blah" 366*f0dffb02SXin Li.............................. end block 9 .............................. 367*f0dffb02SXin Li............................. begin block 10 ............................. 368*f0dffb02SXin Li 22| move-object v0, v2 369*f0dffb02SXin Li 23| goto Label_1 370*f0dffb02SXin Li.............................. end block 10 .............................. 371*f0dffb02SXin Li} 372*f0dffb02SXin Li 373*f0dffb02SXin Limethod Target.testVoid(boolean):void 374*f0dffb02SXin Li{ 375*f0dffb02SXin Li............................. begin block 1 ............................. 376*f0dffb02SXin Li .params "?" 377*f0dffb02SXin Li .src "exitHooks.java" 378*f0dffb02SXin Li .line 82 379*f0dffb02SXin Li .prologue_end 380*f0dffb02SXin Li .line 82 381*f0dffb02SXin Li 0| move-object v0, v5 382*f0dffb02SXin Li .local v0, "this", Target 383*f0dffb02SXin Li 1| move v1, v6 384*f0dffb02SXin Li .local v1, "flag", boolean 385*f0dffb02SXin Li 2| move v2, v1 386*f0dffb02SXin Li 3| if-eqz v2, Label_2 387*f0dffb02SXin Li.............................. end block 1 .............................. 388*f0dffb02SXin Li............................. begin block 2 ............................. 389*f0dffb02SXin Li .line 84 390*f0dffb02SXin Li 5| sget-object v2, java.lang.System.out 391*f0dffb02SXin Li.............................. end block 2 .............................. 392*f0dffb02SXin Li............................. begin block 3 ............................. 393*f0dffb02SXin Li 7| const-string v3, "True!\n" 394*f0dffb02SXin Li.............................. end block 3 .............................. 395*f0dffb02SXin Li............................. begin block 4 ............................. 396*f0dffb02SXin Li 9| const/4 v4, #+0 (0x00000000 | 0.00000) 397*f0dffb02SXin Li 10| new-array v4, v4, java.lang.Object[] 398*f0dffb02SXin Li.............................. end block 4 .............................. 399*f0dffb02SXin Li............................. begin block 5 ............................. 400*f0dffb02SXin Li 12| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 401*f0dffb02SXin Li.............................. end block 5 .............................. 402*f0dffb02SXin Li............................. begin block 6 ............................. 403*f0dffb02SXin Li 15| move-result-object v2 404*f0dffb02SXin Li.............................. end block 6 .............................. 405*f0dffb02SXin Li............................. begin block 7 ............................. 406*f0dffb02SXin LiLabel_1: 407*f0dffb02SXin Li .line 85 408*f0dffb02SXin Li .line 90 409*f0dffb02SXin Li 16| return-void 410*f0dffb02SXin Li.............................. end block 7 .............................. 411*f0dffb02SXin Li............................. begin block 8 ............................. 412*f0dffb02SXin LiLabel_2: 413*f0dffb02SXin Li .line 89 414*f0dffb02SXin Li 17| sget-object v2, java.lang.System.out 415*f0dffb02SXin Li.............................. end block 8 .............................. 416*f0dffb02SXin Li............................. begin block 9 ............................. 417*f0dffb02SXin Li 19| const-string v3, "False!\n" 418*f0dffb02SXin Li.............................. end block 9 .............................. 419*f0dffb02SXin Li............................. begin block 10 ............................. 420*f0dffb02SXin Li 21| const/4 v4, #+0 (0x00000000 | 0.00000) 421*f0dffb02SXin Li 22| new-array v4, v4, java.lang.Object[] 422*f0dffb02SXin Li.............................. end block 10 .............................. 423*f0dffb02SXin Li............................. begin block 11 ............................. 424*f0dffb02SXin Li 24| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 425*f0dffb02SXin Li.............................. end block 11 .............................. 426*f0dffb02SXin Li............................. begin block 12 ............................. 427*f0dffb02SXin Li 27| move-result-object v2 428*f0dffb02SXin Li .line 90 429*f0dffb02SXin Li 28| goto Label_1 430*f0dffb02SXin Li.............................. end block 12 .............................. 431*f0dffb02SXin Li} 432*f0dffb02SXin Li 433*f0dffb02SXin Limethod Tracer.<init>():void 434*f0dffb02SXin Li{ 435*f0dffb02SXin Li............................. begin block 1 ............................. 436*f0dffb02SXin Li .src "exitHooks.java" 437*f0dffb02SXin Li .line 2 438*f0dffb02SXin Li .prologue_end 439*f0dffb02SXin Li .line 2 440*f0dffb02SXin Li 0| move-object v0, v2 441*f0dffb02SXin Li .local v0, "this", Tracer 442*f0dffb02SXin Li 1| move-object v1, v0 443*f0dffb02SXin Li 2| invoke-direct {v1}, java.lang.Object.<init>():void 444*f0dffb02SXin Li.............................. end block 1 .............................. 445*f0dffb02SXin Li............................. begin block 2 ............................. 446*f0dffb02SXin Li 5| return-void 447*f0dffb02SXin Li.............................. end block 2 .............................. 448*f0dffb02SXin Li} 449*f0dffb02SXin Li 450*f0dffb02SXin Limethod Tracer.onExit(double):double 451*f0dffb02SXin Li{ 452*f0dffb02SXin Li............................. begin block 1 ............................. 453*f0dffb02SXin Li .params "?" 454*f0dffb02SXin Li .src "exitHooks.java" 455*f0dffb02SXin Li .line 12 456*f0dffb02SXin Li .prologue_end 457*f0dffb02SXin Li .line 12 458*f0dffb02SXin Li 0| move-wide v0:v1, v10:v11 459*f0dffb02SXin Li .local v0, "value", double 460*f0dffb02SXin Li 1| sget-object v2, java.lang.System.out 461*f0dffb02SXin Li.............................. end block 1 .............................. 462*f0dffb02SXin Li............................. begin block 2 ............................. 463*f0dffb02SXin Li 3| const-string v3, ">>> onExit(double: %f)\n" 464*f0dffb02SXin Li.............................. end block 2 .............................. 465*f0dffb02SXin Li............................. begin block 3 ............................. 466*f0dffb02SXin Li 5| const/4 v4, #+1 (0x00000001 | 1.40130e-45) 467*f0dffb02SXin Li 6| new-array v4, v4, java.lang.Object[] 468*f0dffb02SXin Li.............................. end block 3 .............................. 469*f0dffb02SXin Li............................. begin block 4 ............................. 470*f0dffb02SXin Li 8| move-object v9, v4 471*f0dffb02SXin Li 9| move-object v4, v9 472*f0dffb02SXin Li 10| move-object v5, v9 473*f0dffb02SXin Li 11| const/4 v6, #+0 (0x00000000 | 0.00000) 474*f0dffb02SXin Li 12| move-wide v7:v8, v0:v1 475*f0dffb02SXin Li 13| invoke-static {v7,v8}, java.lang.Double.valueOf(double):java.lang.Double 476*f0dffb02SXin Li.............................. end block 4 .............................. 477*f0dffb02SXin Li............................. begin block 5 ............................. 478*f0dffb02SXin Li 16| move-result-object v7 479*f0dffb02SXin Li 17| aput-object v7, v5, v6 480*f0dffb02SXin Li.............................. end block 5 .............................. 481*f0dffb02SXin Li............................. begin block 6 ............................. 482*f0dffb02SXin Li 19| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 483*f0dffb02SXin Li.............................. end block 6 .............................. 484*f0dffb02SXin Li............................. begin block 7 ............................. 485*f0dffb02SXin Li 22| move-result-object v2 486*f0dffb02SXin Li .line 13 487*f0dffb02SXin Li 23| move-wide v2:v3, v0:v1 488*f0dffb02SXin Li 24| neg-double v2:v3, v2:v3 489*f0dffb02SXin Li 25| move-wide v0:v1, v2:v3 490*f0dffb02SXin Li .end_local v0 491*f0dffb02SXin Li 26| return-wide v0:v1 492*f0dffb02SXin Li.............................. end block 7 .............................. 493*f0dffb02SXin Li} 494*f0dffb02SXin Li 495*f0dffb02SXin Limethod Tracer.onExit(int):int 496*f0dffb02SXin Li{ 497*f0dffb02SXin Li............................. begin block 1 ............................. 498*f0dffb02SXin Li .params "?" 499*f0dffb02SXin Li .src "exitHooks.java" 500*f0dffb02SXin Li .line 18 501*f0dffb02SXin Li .prologue_end 502*f0dffb02SXin Li .line 18 503*f0dffb02SXin Li 0| move v0, v8 504*f0dffb02SXin Li .local v0, "value", int 505*f0dffb02SXin Li 1| sget-object v1, java.lang.System.out 506*f0dffb02SXin Li.............................. end block 1 .............................. 507*f0dffb02SXin Li............................. begin block 2 ............................. 508*f0dffb02SXin Li 3| const-string v2, ">>> onExit(int: %d)\n" 509*f0dffb02SXin Li.............................. end block 2 .............................. 510*f0dffb02SXin Li............................. begin block 3 ............................. 511*f0dffb02SXin Li 5| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 512*f0dffb02SXin Li 6| new-array v3, v3, java.lang.Object[] 513*f0dffb02SXin Li.............................. end block 3 .............................. 514*f0dffb02SXin Li............................. begin block 4 ............................. 515*f0dffb02SXin Li 8| move-object v7, v3 516*f0dffb02SXin Li 9| move-object v3, v7 517*f0dffb02SXin Li 10| move-object v4, v7 518*f0dffb02SXin Li 11| const/4 v5, #+0 (0x00000000 | 0.00000) 519*f0dffb02SXin Li 12| move v6, v0 520*f0dffb02SXin Li 13| invoke-static {v6}, java.lang.Integer.valueOf(int):java.lang.Integer 521*f0dffb02SXin Li.............................. end block 4 .............................. 522*f0dffb02SXin Li............................. begin block 5 ............................. 523*f0dffb02SXin Li 16| move-result-object v6 524*f0dffb02SXin Li 17| aput-object v6, v4, v5 525*f0dffb02SXin Li.............................. end block 5 .............................. 526*f0dffb02SXin Li............................. begin block 6 ............................. 527*f0dffb02SXin Li 19| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 528*f0dffb02SXin Li.............................. end block 6 .............................. 529*f0dffb02SXin Li............................. begin block 7 ............................. 530*f0dffb02SXin Li 22| move-result-object v1 531*f0dffb02SXin Li .line 19 532*f0dffb02SXin Li 23| move v1, v0 533*f0dffb02SXin Li 24| const/16 v2, #+10 (0x0000000a | 1.40130e-44) 534*f0dffb02SXin Li 26| mul-int/lit8 v1, v1, #+10 (0x0000000a | 1.40130e-44) 535*f0dffb02SXin Li 28| move v0, v1 536*f0dffb02SXin Li .end_local v0 537*f0dffb02SXin Li 29| return v0 538*f0dffb02SXin Li.............................. end block 7 .............................. 539*f0dffb02SXin Li} 540*f0dffb02SXin Li 541*f0dffb02SXin Limethod Tracer.onExit(java.lang.Object):java.lang.Object 542*f0dffb02SXin Li{ 543*f0dffb02SXin Li............................. begin block 1 ............................. 544*f0dffb02SXin Li .params "?" 545*f0dffb02SXin Li .src "exitHooks.java" 546*f0dffb02SXin Li .line 6 547*f0dffb02SXin Li .prologue_end 548*f0dffb02SXin Li .line 6 549*f0dffb02SXin Li 0| move-object v0, v8 550*f0dffb02SXin Li .local v0, "value", java.lang.Object 551*f0dffb02SXin Li 1| sget-object v1, java.lang.System.out 552*f0dffb02SXin Li.............................. end block 1 .............................. 553*f0dffb02SXin Li............................. begin block 2 ............................. 554*f0dffb02SXin Li 3| const-string v2, ">>> onExit(Object: %s)\n" 555*f0dffb02SXin Li.............................. end block 2 .............................. 556*f0dffb02SXin Li............................. begin block 3 ............................. 557*f0dffb02SXin Li 5| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 558*f0dffb02SXin Li 6| new-array v3, v3, java.lang.Object[] 559*f0dffb02SXin Li.............................. end block 3 .............................. 560*f0dffb02SXin Li............................. begin block 4 ............................. 561*f0dffb02SXin Li 8| move-object v7, v3 562*f0dffb02SXin Li 9| move-object v3, v7 563*f0dffb02SXin Li 10| move-object v4, v7 564*f0dffb02SXin Li 11| const/4 v5, #+0 (0x00000000 | 0.00000) 565*f0dffb02SXin Li 12| move-object v6, v0 566*f0dffb02SXin Li 13| aput-object v6, v4, v5 567*f0dffb02SXin Li.............................. end block 4 .............................. 568*f0dffb02SXin Li............................. begin block 5 ............................. 569*f0dffb02SXin Li 15| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 570*f0dffb02SXin Li.............................. end block 5 .............................. 571*f0dffb02SXin Li............................. begin block 6 ............................. 572*f0dffb02SXin Li 18| move-result-object v1 573*f0dffb02SXin Li .line 7 574*f0dffb02SXin Li 19| move-object v1, v0 575*f0dffb02SXin Li 20| move-object v0, v1 576*f0dffb02SXin Li .end_local v0 577*f0dffb02SXin Li 21| return-object v0 578*f0dffb02SXin Li.............................. end block 6 .............................. 579*f0dffb02SXin Li} 580*f0dffb02SXin Li 581*f0dffb02SXin Limethod Tracer.onExit():void 582*f0dffb02SXin Li{ 583*f0dffb02SXin Li............................. begin block 1 ............................. 584*f0dffb02SXin Li .src "exitHooks.java" 585*f0dffb02SXin Li .line 24 586*f0dffb02SXin Li .prologue_end 587*f0dffb02SXin Li .line 24 588*f0dffb02SXin Li 0| sget-object v0, java.lang.System.out 589*f0dffb02SXin Li.............................. end block 1 .............................. 590*f0dffb02SXin Li............................. begin block 2 ............................. 591*f0dffb02SXin Li 2| const-string v1, ">>> onExit(void)\n" 592*f0dffb02SXin Li.............................. end block 2 .............................. 593*f0dffb02SXin Li............................. begin block 3 ............................. 594*f0dffb02SXin Li 4| const/4 v2, #+0 (0x00000000 | 0.00000) 595*f0dffb02SXin Li 5| new-array v2, v2, java.lang.Object[] 596*f0dffb02SXin Li.............................. end block 3 .............................. 597*f0dffb02SXin Li............................. begin block 4 ............................. 598*f0dffb02SXin Li 7| invoke-virtual {v0,v1,v2}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 599*f0dffb02SXin Li.............................. end block 4 .............................. 600*f0dffb02SXin Li............................. begin block 5 ............................. 601*f0dffb02SXin Li 10| move-result-object v0 602*f0dffb02SXin Li .line 25 603*f0dffb02SXin Li 11| return-void 604*f0dffb02SXin Li.............................. end block 5 .............................. 605*f0dffb02SXin Li} 606