1*f0dffb02SXin Li 2*f0dffb02SXin Limethod Target.<init>():void 3*f0dffb02SXin Li{ 4*f0dffb02SXin Li .src "exitHooks.java" 5*f0dffb02SXin Li .line 28 6*f0dffb02SXin Li .prologue_end 7*f0dffb02SXin Li .line 28 8*f0dffb02SXin Li 0| move-object v0, v2 9*f0dffb02SXin Li .local v0, "this", Target 10*f0dffb02SXin Li 1| move-object v1, v0 11*f0dffb02SXin Li 2| invoke-direct {v1}, java.lang.Object.<init>():void 12*f0dffb02SXin Li 5| invoke-static/range {}, Tracer.OnExit():void 13*f0dffb02SXin Li 8| return-void 14*f0dffb02SXin Li} 15*f0dffb02SXin Li 16*f0dffb02SXin Limethod Target.main(java.lang.String[]):void 17*f0dffb02SXin Li{ 18*f0dffb02SXin Li .params "?" 19*f0dffb02SXin Li .src "exitHooks.java" 20*f0dffb02SXin Li .line 32 21*f0dffb02SXin Li .prologue_end 22*f0dffb02SXin Li .line 32 23*f0dffb02SXin Li 0| move-object v0, v3 24*f0dffb02SXin Li .local v0, "args", java.lang.String[] 25*f0dffb02SXin Li 1| sget-object v1, java.lang.System.out 26*f0dffb02SXin Li 3| const-string v2, "Hello, world!\n{" 27*f0dffb02SXin Li 5| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 28*f0dffb02SXin Li .line 33 29*f0dffb02SXin Li 8| invoke-static {}, Target.test():void 30*f0dffb02SXin Li .line 34 31*f0dffb02SXin Li 11| sget-object v1, java.lang.System.out 32*f0dffb02SXin Li 13| const-string v2, "}\nGood bye!" 33*f0dffb02SXin Li 15| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 34*f0dffb02SXin Li .line 35 35*f0dffb02SXin Li 18| invoke-static/range {}, Tracer.OnExit():void 36*f0dffb02SXin Li 21| return-void 37*f0dffb02SXin Li} 38*f0dffb02SXin Li 39*f0dffb02SXin Limethod Target.test():void 40*f0dffb02SXin Li{ 41*f0dffb02SXin Li .src "exitHooks.java" 42*f0dffb02SXin Li .line 39 43*f0dffb02SXin Li .prologue_end 44*f0dffb02SXin Li .line 39 45*f0dffb02SXin Li 0| new-instance v1, Target 46*f0dffb02SXin Li 2| move-object v8, v1 47*f0dffb02SXin Li 3| move-object v1, v8 48*f0dffb02SXin Li 4| move-object v2, v8 49*f0dffb02SXin Li 5| invoke-direct {v2}, Target.<init>():void 50*f0dffb02SXin Li 8| move-object v0, v1 51*f0dffb02SXin Li .line 40 52*f0dffb02SXin Li .local v0, "obj", Target 53*f0dffb02SXin Li 9| sget-object v1, java.lang.System.out 54*f0dffb02SXin Li 11| const-string v2, "Object(true) : %s\n" 55*f0dffb02SXin Li 13| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 56*f0dffb02SXin Li 14| new-array v3, v3, java.lang.Object[] 57*f0dffb02SXin Li 16| move-object v8, v3 58*f0dffb02SXin Li 17| move-object v3, v8 59*f0dffb02SXin Li 18| move-object v4, v8 60*f0dffb02SXin Li 19| const/4 v5, #+0 (0x00000000 | 0.00000) 61*f0dffb02SXin Li 20| move-object v6, v0 62*f0dffb02SXin Li 21| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 63*f0dffb02SXin Li 22| invoke-virtual {v6,v7}, Target.testObject(boolean):java.lang.Object 64*f0dffb02SXin Li 25| move-result-object v6 65*f0dffb02SXin Li 26| aput-object v6, v4, v5 66*f0dffb02SXin Li 28| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 67*f0dffb02SXin Li 31| move-result-object v1 68*f0dffb02SXin Li .line 41 69*f0dffb02SXin Li 32| sget-object v1, java.lang.System.out 70*f0dffb02SXin Li 34| const-string v2, "Object(false) : %s\n" 71*f0dffb02SXin Li 36| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 72*f0dffb02SXin Li 37| new-array v3, v3, java.lang.Object[] 73*f0dffb02SXin Li 39| move-object v8, v3 74*f0dffb02SXin Li 40| move-object v3, v8 75*f0dffb02SXin Li 41| move-object v4, v8 76*f0dffb02SXin Li 42| const/4 v5, #+0 (0x00000000 | 0.00000) 77*f0dffb02SXin Li 43| move-object v6, v0 78*f0dffb02SXin Li 44| const/4 v7, #+0 (0x00000000 | 0.00000) 79*f0dffb02SXin Li 45| invoke-virtual {v6,v7}, Target.testObject(boolean):java.lang.Object 80*f0dffb02SXin Li 48| move-result-object v6 81*f0dffb02SXin Li 49| aput-object v6, v4, v5 82*f0dffb02SXin Li 51| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 83*f0dffb02SXin Li 54| move-result-object v1 84*f0dffb02SXin Li .line 42 85*f0dffb02SXin Li 55| sget-object v1, java.lang.System.out 86*f0dffb02SXin Li 57| const-string v2, "double : %s\n" 87*f0dffb02SXin Li 59| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 88*f0dffb02SXin Li 60| new-array v3, v3, java.lang.Object[] 89*f0dffb02SXin Li 62| move-object v8, v3 90*f0dffb02SXin Li 63| move-object v3, v8 91*f0dffb02SXin Li 64| move-object v4, v8 92*f0dffb02SXin Li 65| const/4 v5, #+0 (0x00000000 | 0.00000) 93*f0dffb02SXin Li 66| move-object v6, v0 94*f0dffb02SXin Li 67| const/4 v7, #+3 (0x00000003 | 4.20390e-45) 95*f0dffb02SXin Li 68| invoke-virtual {v6,v7}, Target.testDouble(int):double 96*f0dffb02SXin Li 71| move-result-wide v6:v7 97*f0dffb02SXin Li 72| invoke-static {v6,v7}, java.lang.Double.valueOf(double):java.lang.Double 98*f0dffb02SXin Li 75| move-result-object v6 99*f0dffb02SXin Li 76| aput-object v6, v4, v5 100*f0dffb02SXin Li 78| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 101*f0dffb02SXin Li 81| move-result-object v1 102*f0dffb02SXin Li .line 43 103*f0dffb02SXin Li 82| sget-object v1, java.lang.System.out 104*f0dffb02SXin Li 84| const-string v2, "int : %s\n" 105*f0dffb02SXin Li 86| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 106*f0dffb02SXin Li 87| new-array v3, v3, java.lang.Object[] 107*f0dffb02SXin Li 89| move-object v8, v3 108*f0dffb02SXin Li 90| move-object v3, v8 109*f0dffb02SXin Li 91| move-object v4, v8 110*f0dffb02SXin Li 92| const/4 v5, #+0 (0x00000000 | 0.00000) 111*f0dffb02SXin Li 93| move-object v6, v0 112*f0dffb02SXin Li 94| const/16 v7, #+100 (0x00000064 | 1.40130e-43) 113*f0dffb02SXin Li 96| invoke-virtual {v6,v7}, Target.testInt(int):int 114*f0dffb02SXin Li 99| move-result v6 115*f0dffb02SXin Li 100| invoke-static {v6}, java.lang.Integer.valueOf(int):java.lang.Integer 116*f0dffb02SXin Li 103| move-result-object v6 117*f0dffb02SXin Li 104| aput-object v6, v4, v5 118*f0dffb02SXin Li 106| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 119*f0dffb02SXin Li 109| move-result-object v1 120*f0dffb02SXin Li .line 44 121*f0dffb02SXin Li 110| move-object v1, v0 122*f0dffb02SXin Li 111| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 123*f0dffb02SXin Li 112| invoke-virtual {v1,v2}, Target.testVoid(boolean):void 124*f0dffb02SXin Li .line 45 125*f0dffb02SXin Li 115| invoke-static/range {}, Tracer.OnExit():void 126*f0dffb02SXin Li 118| return-void 127*f0dffb02SXin Li} 128*f0dffb02SXin Li 129*f0dffb02SXin Limethod Target.testDouble(int):double 130*f0dffb02SXin Li{ 131*f0dffb02SXin Li .params "?" 132*f0dffb02SXin Li .src "exitHooks.java" 133*f0dffb02SXin Li .line 60 134*f0dffb02SXin Li .prologue_end 135*f0dffb02SXin Li .line 60 136*f0dffb02SXin Li 0| move-object v0, v4 137*f0dffb02SXin Li .local v0, "this", Target 138*f0dffb02SXin Li 1| move v1, v5 139*f0dffb02SXin Li .local v1, "n", int 140*f0dffb02SXin Li 2| move v2, v1 141*f0dffb02SXin Li 3| packed-switch v2, Label_5 142*f0dffb02SXin Li .line 65 143*f0dffb02SXin Li 6| const-wide v2:v3, #+4621762822593629389 (0x4023cccccccccccd | 9.90000) 144*f0dffb02SXin Li 11| move-wide v0:v1, v2:v3 145*f0dffb02SXin LiLabel_1: 146*f0dffb02SXin Li .end_local v0 147*f0dffb02SXin Li 12| invoke-static/range {v0..v1}, Tracer.OnExit(double):double 148*f0dffb02SXin Li 15| move-result-wide v0:v1 149*f0dffb02SXin Li 16| return-wide v0:v1 150*f0dffb02SXin LiLabel_2: 151*f0dffb02SXin Li .line 62 152*f0dffb02SXin Li .restart_local v0 153*f0dffb02SXin Li 17| const-wide v2:v3, #+4607632778762754458 (0x3ff199999999999a | 1.10000) 154*f0dffb02SXin Li 22| move-wide v0:v1, v2:v3 155*f0dffb02SXin Li 23| goto/16 Label_1 156*f0dffb02SXin LiLabel_3: 157*f0dffb02SXin Li .line 63 158*f0dffb02SXin Li 25| const-wide v2:v3, #+4612136378390124954 (0x400199999999999a | 2.20000) 159*f0dffb02SXin Li 30| move-wide v0:v1, v2:v3 160*f0dffb02SXin Li 31| goto/16 Label_1 161*f0dffb02SXin LiLabel_4: 162*f0dffb02SXin Li .line 64 163*f0dffb02SXin Li 33| const-wide v2:v3, #+4614613358185178726 (0x400a666666666666 | 3.30000) 164*f0dffb02SXin Li 38| move-wide v0:v1, v2:v3 165*f0dffb02SXin Li 39| goto/16 Label_1 166*f0dffb02SXin Li 41| nop 167*f0dffb02SXin LiLabel_5: <aligned> 168*f0dffb02SXin Li .line 60 169*f0dffb02SXin Li 42| packed-switch-payload 170*f0dffb02SXin Li 1: Label_2 171*f0dffb02SXin Li 2: Label_3 172*f0dffb02SXin Li 3: Label_4 173*f0dffb02SXin Li} 174*f0dffb02SXin Li 175*f0dffb02SXin Limethod Target.testInt(int):int 176*f0dffb02SXin Li{ 177*f0dffb02SXin Li .params "?" 178*f0dffb02SXin Li .src "exitHooks.java" 179*f0dffb02SXin Li .line 71 180*f0dffb02SXin Li .prologue_end 181*f0dffb02SXin Li .line 71 182*f0dffb02SXin Li 0| move-object v0, v3 183*f0dffb02SXin Li .local v0, "this", Target 184*f0dffb02SXin Li 1| move v1, v4 185*f0dffb02SXin Li .local v1, "n", int 186*f0dffb02SXin Li 2| move v2, v1 187*f0dffb02SXin Li 3| sparse-switch v2, Label_5 188*f0dffb02SXin Li .line 76 189*f0dffb02SXin Li 6| const/16 v2, #+123 (0x0000007b | 1.72360e-43) 190*f0dffb02SXin Li 8| move v0, v2 191*f0dffb02SXin LiLabel_1: 192*f0dffb02SXin Li .end_local v0 193*f0dffb02SXin Li 9| invoke-static/range {v0..v0}, Tracer.OnExit(int):int 194*f0dffb02SXin Li 12| move-result v0 195*f0dffb02SXin Li 13| return v0 196*f0dffb02SXin LiLabel_2: 197*f0dffb02SXin Li .line 73 198*f0dffb02SXin Li .restart_local v0 199*f0dffb02SXin Li 14| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 200*f0dffb02SXin Li 15| move v0, v2 201*f0dffb02SXin Li 16| goto/16 Label_1 202*f0dffb02SXin LiLabel_3: 203*f0dffb02SXin Li .line 74 204*f0dffb02SXin Li 18| const/4 v2, #+2 (0x00000002 | 2.80260e-45) 205*f0dffb02SXin Li 19| move v0, v2 206*f0dffb02SXin Li 20| goto/16 Label_1 207*f0dffb02SXin LiLabel_4: 208*f0dffb02SXin Li .line 75 209*f0dffb02SXin Li 22| const/4 v2, #+3 (0x00000003 | 4.20390e-45) 210*f0dffb02SXin Li 23| move v0, v2 211*f0dffb02SXin Li 24| goto/16 Label_1 212*f0dffb02SXin Li .line 71 213*f0dffb02SXin Li 26| nop 214*f0dffb02SXin Li 27| nop 215*f0dffb02SXin LiLabel_5: <aligned> 216*f0dffb02SXin Li 28| sparse-switch-payload 217*f0dffb02SXin Li 10: Label_2 218*f0dffb02SXin Li 20: Label_3 219*f0dffb02SXin Li 30: Label_4 220*f0dffb02SXin Li} 221*f0dffb02SXin Li 222*f0dffb02SXin Limethod Target.testObject(boolean):java.lang.Object 223*f0dffb02SXin Li{ 224*f0dffb02SXin Li .params "?" 225*f0dffb02SXin Li .src "exitHooks.java" 226*f0dffb02SXin Li .line 49 227*f0dffb02SXin Li .prologue_end 228*f0dffb02SXin Li .line 49 229*f0dffb02SXin Li 0| move-object v0, v5 230*f0dffb02SXin Li .local v0, "this", Target 231*f0dffb02SXin Li 1| move v1, v6 232*f0dffb02SXin Li .local v1, "flag", boolean 233*f0dffb02SXin Li 2| move v2, v1 234*f0dffb02SXin Li 3| if-eqz v2, Label_2 235*f0dffb02SXin Li .line 51 236*f0dffb02SXin Li 5| sget-object v2, java.lang.System.out 237*f0dffb02SXin Li 7| const-string v3, "Flag!\n" 238*f0dffb02SXin Li 9| const/4 v4, #+0 (0x00000000 | 0.00000) 239*f0dffb02SXin Li 10| new-array v4, v4, java.lang.Object[] 240*f0dffb02SXin Li 12| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 241*f0dffb02SXin Li 15| move-result-object v2 242*f0dffb02SXin Li .line 52 243*f0dffb02SXin Li 16| const-string v2, "Sigh" 244*f0dffb02SXin Li 18| move-object v0, v2 245*f0dffb02SXin LiLabel_1: 246*f0dffb02SXin Li .line 55 247*f0dffb02SXin Li .end_local v0 248*f0dffb02SXin Li 19| invoke-static/range {v0..v0}, Tracer.OnExit(java.lang.Object):java.lang.Object 249*f0dffb02SXin Li 22| move-result-object v0 250*f0dffb02SXin Li 23| return-object v0 251*f0dffb02SXin LiLabel_2: 252*f0dffb02SXin Li .restart_local v0 253*f0dffb02SXin Li 24| const-string v2, "Blah" 254*f0dffb02SXin Li 26| move-object v0, v2 255*f0dffb02SXin Li 27| goto/16 Label_1 256*f0dffb02SXin Li} 257*f0dffb02SXin Li 258*f0dffb02SXin Limethod Target.testVoid(boolean):void 259*f0dffb02SXin Li{ 260*f0dffb02SXin Li .params "?" 261*f0dffb02SXin Li .src "exitHooks.java" 262*f0dffb02SXin Li .line 82 263*f0dffb02SXin Li .prologue_end 264*f0dffb02SXin Li .line 82 265*f0dffb02SXin Li 0| move-object v0, v5 266*f0dffb02SXin Li .local v0, "this", Target 267*f0dffb02SXin Li 1| move v1, v6 268*f0dffb02SXin Li .local v1, "flag", boolean 269*f0dffb02SXin Li 2| move v2, v1 270*f0dffb02SXin Li 3| if-eqz v2, Label_2 271*f0dffb02SXin Li .line 84 272*f0dffb02SXin Li 5| sget-object v2, java.lang.System.out 273*f0dffb02SXin Li 7| const-string v3, "True!\n" 274*f0dffb02SXin Li 9| const/4 v4, #+0 (0x00000000 | 0.00000) 275*f0dffb02SXin Li 10| new-array v4, v4, java.lang.Object[] 276*f0dffb02SXin Li 12| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 277*f0dffb02SXin Li 15| move-result-object v2 278*f0dffb02SXin LiLabel_1: 279*f0dffb02SXin Li .line 85 280*f0dffb02SXin Li .line 90 281*f0dffb02SXin Li 16| invoke-static/range {}, Tracer.OnExit():void 282*f0dffb02SXin Li 19| return-void 283*f0dffb02SXin LiLabel_2: 284*f0dffb02SXin Li .line 89 285*f0dffb02SXin Li 20| sget-object v2, java.lang.System.out 286*f0dffb02SXin Li 22| const-string v3, "False!\n" 287*f0dffb02SXin Li 24| const/4 v4, #+0 (0x00000000 | 0.00000) 288*f0dffb02SXin Li 25| new-array v4, v4, java.lang.Object[] 289*f0dffb02SXin Li 27| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 290*f0dffb02SXin Li 30| move-result-object v2 291*f0dffb02SXin Li .line 90 292*f0dffb02SXin Li 31| goto/16 Label_1 293*f0dffb02SXin Li} 294*f0dffb02SXin Li 295*f0dffb02SXin Limethod Tracer.<init>():void 296*f0dffb02SXin Li{ 297*f0dffb02SXin Li .src "exitHooks.java" 298*f0dffb02SXin Li .line 2 299*f0dffb02SXin Li .prologue_end 300*f0dffb02SXin Li .line 2 301*f0dffb02SXin Li 0| move-object v0, v2 302*f0dffb02SXin Li .local v0, "this", Tracer 303*f0dffb02SXin Li 1| move-object v1, v0 304*f0dffb02SXin Li 2| invoke-direct {v1}, java.lang.Object.<init>():void 305*f0dffb02SXin Li 5| invoke-static/range {}, Tracer.OnExit():void 306*f0dffb02SXin Li 8| return-void 307*f0dffb02SXin Li} 308*f0dffb02SXin Li 309*f0dffb02SXin Limethod Tracer.onExit(double):double 310*f0dffb02SXin Li{ 311*f0dffb02SXin Li .params "?" 312*f0dffb02SXin Li .src "exitHooks.java" 313*f0dffb02SXin Li .line 12 314*f0dffb02SXin Li .prologue_end 315*f0dffb02SXin Li .line 12 316*f0dffb02SXin Li 0| move-wide v0:v1, v10:v11 317*f0dffb02SXin Li .local v0, "value", double 318*f0dffb02SXin Li 1| sget-object v2, java.lang.System.out 319*f0dffb02SXin Li 3| const-string v3, ">>> onExit(double: %f)\n" 320*f0dffb02SXin Li 5| const/4 v4, #+1 (0x00000001 | 1.40130e-45) 321*f0dffb02SXin Li 6| new-array v4, v4, java.lang.Object[] 322*f0dffb02SXin Li 8| move-object v9, v4 323*f0dffb02SXin Li 9| move-object v4, v9 324*f0dffb02SXin Li 10| move-object v5, v9 325*f0dffb02SXin Li 11| const/4 v6, #+0 (0x00000000 | 0.00000) 326*f0dffb02SXin Li 12| move-wide v7:v8, v0:v1 327*f0dffb02SXin Li 13| invoke-static {v7,v8}, java.lang.Double.valueOf(double):java.lang.Double 328*f0dffb02SXin Li 16| move-result-object v7 329*f0dffb02SXin Li 17| aput-object v7, v5, v6 330*f0dffb02SXin Li 19| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 331*f0dffb02SXin Li 22| move-result-object v2 332*f0dffb02SXin Li .line 13 333*f0dffb02SXin Li 23| move-wide v2:v3, v0:v1 334*f0dffb02SXin Li 24| neg-double v2:v3, v2:v3 335*f0dffb02SXin Li 25| move-wide v0:v1, v2:v3 336*f0dffb02SXin Li .end_local v0 337*f0dffb02SXin Li 26| invoke-static/range {v0..v1}, Tracer.OnExit(double):double 338*f0dffb02SXin Li 29| move-result-wide v0:v1 339*f0dffb02SXin Li 30| return-wide v0:v1 340*f0dffb02SXin Li} 341*f0dffb02SXin Li 342*f0dffb02SXin Limethod Tracer.onExit(int):int 343*f0dffb02SXin Li{ 344*f0dffb02SXin Li .params "?" 345*f0dffb02SXin Li .src "exitHooks.java" 346*f0dffb02SXin Li .line 18 347*f0dffb02SXin Li .prologue_end 348*f0dffb02SXin Li .line 18 349*f0dffb02SXin Li 0| move v0, v8 350*f0dffb02SXin Li .local v0, "value", int 351*f0dffb02SXin Li 1| sget-object v1, java.lang.System.out 352*f0dffb02SXin Li 3| const-string v2, ">>> onExit(int: %d)\n" 353*f0dffb02SXin Li 5| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 354*f0dffb02SXin Li 6| new-array v3, v3, java.lang.Object[] 355*f0dffb02SXin Li 8| move-object v7, v3 356*f0dffb02SXin Li 9| move-object v3, v7 357*f0dffb02SXin Li 10| move-object v4, v7 358*f0dffb02SXin Li 11| const/4 v5, #+0 (0x00000000 | 0.00000) 359*f0dffb02SXin Li 12| move v6, v0 360*f0dffb02SXin Li 13| invoke-static {v6}, java.lang.Integer.valueOf(int):java.lang.Integer 361*f0dffb02SXin Li 16| move-result-object v6 362*f0dffb02SXin Li 17| aput-object v6, v4, v5 363*f0dffb02SXin Li 19| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 364*f0dffb02SXin Li 22| move-result-object v1 365*f0dffb02SXin Li .line 19 366*f0dffb02SXin Li 23| move v1, v0 367*f0dffb02SXin Li 24| const/16 v2, #+10 (0x0000000a | 1.40130e-44) 368*f0dffb02SXin Li 26| mul-int/lit8 v1, v1, #+10 (0x0000000a | 1.40130e-44) 369*f0dffb02SXin Li 28| move v0, v1 370*f0dffb02SXin Li .end_local v0 371*f0dffb02SXin Li 29| invoke-static/range {v0..v0}, Tracer.OnExit(int):int 372*f0dffb02SXin Li 32| move-result v0 373*f0dffb02SXin Li 33| return v0 374*f0dffb02SXin Li} 375*f0dffb02SXin Li 376*f0dffb02SXin Limethod Tracer.onExit(java.lang.Object):java.lang.Object 377*f0dffb02SXin Li{ 378*f0dffb02SXin Li .params "?" 379*f0dffb02SXin Li .src "exitHooks.java" 380*f0dffb02SXin Li .line 6 381*f0dffb02SXin Li .prologue_end 382*f0dffb02SXin Li .line 6 383*f0dffb02SXin Li 0| move-object v0, v8 384*f0dffb02SXin Li .local v0, "value", java.lang.Object 385*f0dffb02SXin Li 1| sget-object v1, java.lang.System.out 386*f0dffb02SXin Li 3| const-string v2, ">>> onExit(Object: %s)\n" 387*f0dffb02SXin Li 5| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 388*f0dffb02SXin Li 6| new-array v3, v3, java.lang.Object[] 389*f0dffb02SXin Li 8| move-object v7, v3 390*f0dffb02SXin Li 9| move-object v3, v7 391*f0dffb02SXin Li 10| move-object v4, v7 392*f0dffb02SXin Li 11| const/4 v5, #+0 (0x00000000 | 0.00000) 393*f0dffb02SXin Li 12| move-object v6, v0 394*f0dffb02SXin Li 13| aput-object v6, v4, v5 395*f0dffb02SXin Li 15| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 396*f0dffb02SXin Li 18| move-result-object v1 397*f0dffb02SXin Li .line 7 398*f0dffb02SXin Li 19| move-object v1, v0 399*f0dffb02SXin Li 20| move-object v0, v1 400*f0dffb02SXin Li .end_local v0 401*f0dffb02SXin Li 21| invoke-static/range {v0..v0}, Tracer.OnExit(java.lang.Object):java.lang.Object 402*f0dffb02SXin Li 24| move-result-object v0 403*f0dffb02SXin Li 25| return-object v0 404*f0dffb02SXin Li} 405*f0dffb02SXin Li 406*f0dffb02SXin Limethod Tracer.onExit():void 407*f0dffb02SXin Li{ 408*f0dffb02SXin Li .src "exitHooks.java" 409*f0dffb02SXin Li .line 24 410*f0dffb02SXin Li .prologue_end 411*f0dffb02SXin Li .line 24 412*f0dffb02SXin Li 0| sget-object v0, java.lang.System.out 413*f0dffb02SXin Li 2| const-string v1, ">>> onExit(void)\n" 414*f0dffb02SXin Li 4| const/4 v2, #+0 (0x00000000 | 0.00000) 415*f0dffb02SXin Li 5| new-array v2, v2, java.lang.Object[] 416*f0dffb02SXin Li 7| invoke-virtual {v0,v1,v2}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 417*f0dffb02SXin Li 10| move-result-object v0 418*f0dffb02SXin Li .line 25 419*f0dffb02SXin Li 11| invoke-static/range {}, Tracer.OnExit():void 420*f0dffb02SXin Li 14| return-void 421*f0dffb02SXin Li} 422