1*f0dffb02SXin Li 2*f0dffb02SXin Limethod Base.<init>():void 3*f0dffb02SXin Li{ 4*f0dffb02SXin Li .src "entryHooks.java" 5*f0dffb02SXin Li .line 27 6*f0dffb02SXin Li .prologue_end 7*f0dffb02SXin Li .line 27 8*f0dffb02SXin Li 0| move-object v0, v2 9*f0dffb02SXin Li .local v0, "this", Base 10*f0dffb02SXin Li 1| move-object v1, v0 11*f0dffb02SXin Li 2| invoke-direct {v1}, java.lang.Object.<init>():void 12*f0dffb02SXin Li 5| return-void 13*f0dffb02SXin Li} 14*f0dffb02SXin Li 15*f0dffb02SXin Limethod Base.foo(int, java.lang.String):int 16*f0dffb02SXin Li{ 17*f0dffb02SXin Li .params "?", "?" 18*f0dffb02SXin Li .src "entryHooks.java" 19*f0dffb02SXin Li .line 31 20*f0dffb02SXin Li .prologue_end 21*f0dffb02SXin Li .line 31 22*f0dffb02SXin Li 0| move-object v0, v10 23*f0dffb02SXin Li .local v0, "this", Base 24*f0dffb02SXin Li 1| move v1, v11 25*f0dffb02SXin Li .local v1, "x", int 26*f0dffb02SXin Li 2| move-object v2, v12 27*f0dffb02SXin Li .local v2, "msg", java.lang.String 28*f0dffb02SXin Li 3| sget-object v3, java.lang.System.out 29*f0dffb02SXin Li 5| const-string v4, "Base.foo(%d, '%s')\n" 30*f0dffb02SXin Li 7| const/4 v5, #+2 (0x00000002 | 2.80260e-45) 31*f0dffb02SXin Li 8| new-array v5, v5, java.lang.Object[] 32*f0dffb02SXin Li 10| move-object v9, v5 33*f0dffb02SXin Li 11| move-object v5, v9 34*f0dffb02SXin Li 12| move-object v6, v9 35*f0dffb02SXin Li 13| const/4 v7, #+0 (0x00000000 | 0.00000) 36*f0dffb02SXin Li 14| move v8, v1 37*f0dffb02SXin Li 15| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer 38*f0dffb02SXin Li 18| move-result-object v8 39*f0dffb02SXin Li 19| aput-object v8, v6, v7 40*f0dffb02SXin Li 21| move-object v9, v5 41*f0dffb02SXin Li 22| move-object v5, v9 42*f0dffb02SXin Li 23| move-object v6, v9 43*f0dffb02SXin Li 24| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 44*f0dffb02SXin Li 25| move-object v8, v2 45*f0dffb02SXin Li 26| aput-object v8, v6, v7 46*f0dffb02SXin Li 28| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 47*f0dffb02SXin Li 31| move-result-object v3 48*f0dffb02SXin Li .line 32 49*f0dffb02SXin Li 32| move v3, v1 50*f0dffb02SXin Li 33| move v0, v3 51*f0dffb02SXin Li .end_local v0 52*f0dffb02SXin Li 34| return v0 53*f0dffb02SXin Li} 54*f0dffb02SXin Li 55*f0dffb02SXin Limethod Derived.<init>():void 56*f0dffb02SXin Li{ 57*f0dffb02SXin Li .src "entryHooks.java" 58*f0dffb02SXin Li .line 36 59*f0dffb02SXin Li .prologue_end 60*f0dffb02SXin Li .line 36 61*f0dffb02SXin Li 0| move-object v0, v2 62*f0dffb02SXin Li .local v0, "this", Derived 63*f0dffb02SXin Li 1| move-object v1, v0 64*f0dffb02SXin Li 2| invoke-direct {v1}, Base.<init>():void 65*f0dffb02SXin Li 5| return-void 66*f0dffb02SXin Li} 67*f0dffb02SXin Li 68*f0dffb02SXin Limethod Derived.foo(int, java.lang.String):int 69*f0dffb02SXin Li{ 70*f0dffb02SXin Li .params "?", "?" 71*f0dffb02SXin Li .src "entryHooks.java" 72*f0dffb02SXin Li .line 40 73*f0dffb02SXin Li .prologue_end 74*f0dffb02SXin Li .line 40 75*f0dffb02SXin Li 0| move-object v0, v10 76*f0dffb02SXin Li .local v0, "this", Derived 77*f0dffb02SXin Li 1| move v1, v11 78*f0dffb02SXin Li .local v1, "x", int 79*f0dffb02SXin Li 2| move-object v2, v12 80*f0dffb02SXin Li .local v2, "msg", java.lang.String 81*f0dffb02SXin Li 3| sget-object v3, java.lang.System.out 82*f0dffb02SXin Li 5| const-string v4, "Derived.foo(%d, '%s')\n" 83*f0dffb02SXin Li 7| const/4 v5, #+2 (0x00000002 | 2.80260e-45) 84*f0dffb02SXin Li 8| new-array v5, v5, java.lang.Object[] 85*f0dffb02SXin Li 10| move-object v9, v5 86*f0dffb02SXin Li 11| move-object v5, v9 87*f0dffb02SXin Li 12| move-object v6, v9 88*f0dffb02SXin Li 13| const/4 v7, #+0 (0x00000000 | 0.00000) 89*f0dffb02SXin Li 14| move v8, v1 90*f0dffb02SXin Li 15| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer 91*f0dffb02SXin Li 18| move-result-object v8 92*f0dffb02SXin Li 19| aput-object v8, v6, v7 93*f0dffb02SXin Li 21| move-object v9, v5 94*f0dffb02SXin Li 22| move-object v5, v9 95*f0dffb02SXin Li 23| move-object v6, v9 96*f0dffb02SXin Li 24| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 97*f0dffb02SXin Li 25| move-object v8, v2 98*f0dffb02SXin Li 26| aput-object v8, v6, v7 99*f0dffb02SXin Li 28| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 100*f0dffb02SXin Li 31| move-result-object v3 101*f0dffb02SXin Li .line 41 102*f0dffb02SXin Li 32| move v3, v1 103*f0dffb02SXin Li 33| const/4 v4, #+2 (0x00000002 | 2.80260e-45) 104*f0dffb02SXin Li 34| mul-int/lit8 v3, v3, #+2 (0x00000002 | 2.80260e-45) 105*f0dffb02SXin Li 36| move v0, v3 106*f0dffb02SXin Li .end_local v0 107*f0dffb02SXin Li 37| return v0 108*f0dffb02SXin Li} 109*f0dffb02SXin Li 110*f0dffb02SXin Limethod Target.<init>():void 111*f0dffb02SXin Li{ 112*f0dffb02SXin Li .src "entryHooks.java" 113*f0dffb02SXin Li .line 45 114*f0dffb02SXin Li .prologue_end 115*f0dffb02SXin Li .line 45 116*f0dffb02SXin Li 0| move-object v0, v2 117*f0dffb02SXin Li .local v0, "this", Target 118*f0dffb02SXin Li 1| move-object v1, v0 119*f0dffb02SXin Li 2| invoke-direct {v1}, java.lang.Object.<init>():void 120*f0dffb02SXin Li 5| return-void 121*f0dffb02SXin Li} 122*f0dffb02SXin Li 123*f0dffb02SXin Limethod Target.main(java.lang.String[]):void 124*f0dffb02SXin Li{ 125*f0dffb02SXin Li .params "?" 126*f0dffb02SXin Li .src "entryHooks.java" 127*f0dffb02SXin Li .line 51 128*f0dffb02SXin Li .prologue_end 129*f0dffb02SXin Li .line 51 130*f0dffb02SXin Li 0| move-object v0, v8 131*f0dffb02SXin Li .local v0, "args", java.lang.String[] 132*f0dffb02SXin Li 1| sget-object v1, java.lang.System.out 133*f0dffb02SXin Li 3| const-string v2, "Hello, world!" 134*f0dffb02SXin Li 5| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 135*f0dffb02SXin Li .line 52 136*f0dffb02SXin Li 8| sget-object v1, java.lang.System.out 137*f0dffb02SXin Li 10| const-string v2, "final = %d\n" 138*f0dffb02SXin Li 12| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 139*f0dffb02SXin Li 13| new-array v3, v3, java.lang.Object[] 140*f0dffb02SXin Li 15| move-object v7, v3 141*f0dffb02SXin Li 16| move-object v3, v7 142*f0dffb02SXin Li 17| move-object v4, v7 143*f0dffb02SXin Li 18| const/4 v5, #+0 (0x00000000 | 0.00000) 144*f0dffb02SXin Li 19| invoke-static {}, Target.test():int 145*f0dffb02SXin Li 22| move-result v6 146*f0dffb02SXin Li 23| invoke-static {v6}, java.lang.Integer.valueOf(int):java.lang.Integer 147*f0dffb02SXin Li 26| move-result-object v6 148*f0dffb02SXin Li 27| aput-object v6, v4, v5 149*f0dffb02SXin Li 29| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 150*f0dffb02SXin Li 32| move-result-object v1 151*f0dffb02SXin Li .line 53 152*f0dffb02SXin Li 33| sget-object v1, java.lang.System.out 153*f0dffb02SXin Li 35| const-string v2, "Good bye!" 154*f0dffb02SXin Li 37| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 155*f0dffb02SXin Li .line 54 156*f0dffb02SXin Li 40| return-void 157*f0dffb02SXin Li} 158*f0dffb02SXin Li 159*f0dffb02SXin Limethod Target.test():int 160*f0dffb02SXin Li{ 161*f0dffb02SXin Li .src "entryHooks.java" 162*f0dffb02SXin Li .line 58 163*f0dffb02SXin Li .prologue_end 164*f0dffb02SXin Li .line 58 165*f0dffb02SXin Li 0| new-instance v1, Target 166*f0dffb02SXin Li 2| move-object v4, v1 167*f0dffb02SXin Li 3| move-object v1, v4 168*f0dffb02SXin Li 4| move-object v2, v4 169*f0dffb02SXin Li 5| invoke-direct {v2}, Target.<init>():void 170*f0dffb02SXin Li 8| move-object v0, v1 171*f0dffb02SXin Li .line 59 172*f0dffb02SXin Li .local v0, "obj", Target 173*f0dffb02SXin Li 9| move-object v1, v0 174*f0dffb02SXin Li 10| new-instance v2, Derived 175*f0dffb02SXin Li 12| move-object v4, v2 176*f0dffb02SXin Li 13| move-object v2, v4 177*f0dffb02SXin Li 14| move-object v3, v4 178*f0dffb02SXin Li 15| invoke-direct {v3}, Derived.<init>():void 179*f0dffb02SXin Li 18| iput-object v2, v1, Target.test 180*f0dffb02SXin Li .line 60 181*f0dffb02SXin Li 20| move-object v1, v0 182*f0dffb02SXin Li 21| const/4 v2, #+3 (0x00000003 | 4.20390e-45) 183*f0dffb02SXin Li 22| const-string v3, "Testing..." 184*f0dffb02SXin Li 24| invoke-virtual {v1,v2,v3}, Target.foo(int, java.lang.String):int 185*f0dffb02SXin Li 27| move-result v1 186*f0dffb02SXin Li 28| move v0, v1 187*f0dffb02SXin Li .end_local v0 188*f0dffb02SXin Li 29| return v0 189*f0dffb02SXin Li} 190*f0dffb02SXin Li 191*f0dffb02SXin Limethod Target.foo(int):int 192*f0dffb02SXin Li{ 193*f0dffb02SXin Li .params "?" 194*f0dffb02SXin Li .src "entryHooks.java" 195*f0dffb02SXin Li .line 74 196*f0dffb02SXin Li .prologue_end 197*f0dffb02SXin Li .line 74 198*f0dffb02SXin Li 0| move-object v0, v3 199*f0dffb02SXin Li .local v0, "this", Target 200*f0dffb02SXin Li 1| move v1, v4 201*f0dffb02SXin Li .local v1, "x", int 202*f0dffb02SXin Li 2| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 203*f0dffb02SXin Li 3| move v0, v2 204*f0dffb02SXin Li .end_local v0 205*f0dffb02SXin Li 4| return v0 206*f0dffb02SXin Li} 207*f0dffb02SXin Li 208*f0dffb02SXin Limethod Target.foo(int, int):int 209*f0dffb02SXin Li{ 210*f0dffb02SXin Li .params "?", "?" 211*f0dffb02SXin Li .src "entryHooks.java" 212*f0dffb02SXin Li .line 75 213*f0dffb02SXin Li .prologue_end 214*f0dffb02SXin Li .line 75 215*f0dffb02SXin Li 0| move-object v0, v4 216*f0dffb02SXin Li .local v0, "this", Target 217*f0dffb02SXin Li 1| move v1, v5 218*f0dffb02SXin Li .local v1, "x", int 219*f0dffb02SXin Li 2| move v2, v6 220*f0dffb02SXin Li .local v2, "y", int 221*f0dffb02SXin Li 3| const/4 v3, #+2 (0x00000002 | 2.80260e-45) 222*f0dffb02SXin Li 4| move v0, v3 223*f0dffb02SXin Li .end_local v0 224*f0dffb02SXin Li 5| return v0 225*f0dffb02SXin Li} 226*f0dffb02SXin Li 227*f0dffb02SXin Limethod Target.foo(int, java.lang.String):int 228*f0dffb02SXin Li{ 229*f0dffb02SXin Li .params "?", "?" 230*f0dffb02SXin Li .src "entryHooks.java" 231*f0dffb02SXin Li .line 65 232*f0dffb02SXin Li .prologue_end 233*f0dffb02SXin Li .line 65 234*f0dffb02SXin Li 0| move-object v0, v9 235*f0dffb02SXin Li .local v0, "this", Target 236*f0dffb02SXin Li 1| move v1, v10 237*f0dffb02SXin Li .local v1, "x", int 238*f0dffb02SXin Li 2| move-object v2, v11 239*f0dffb02SXin Li .local v2, "msg", java.lang.String 240*f0dffb02SXin Li 3| const/4 v5, #+0 (0x00000000 | 0.00000) 241*f0dffb02SXin Li 4| move v3, v5 242*f0dffb02SXin Li .line 66 243*f0dffb02SXin Li .local v3, "sum", int 244*f0dffb02SXin Li 5| const/4 v5, #+0 (0x00000000 | 0.00000) 245*f0dffb02SXin Li 6| move v4, v5 246*f0dffb02SXin LiLabel_1: 247*f0dffb02SXin Li .local v4, "i", int 248*f0dffb02SXin Li 7| move v5, v4 249*f0dffb02SXin Li 8| move v6, v1 250*f0dffb02SXin Li 9| if-ge v5, v6, Label_2 251*f0dffb02SXin Li .line 68 252*f0dffb02SXin Li 11| move v5, v3 253*f0dffb02SXin Li 12| move-object v6, v0 254*f0dffb02SXin Li 13| iget-object v6, v6, Target.test 255*f0dffb02SXin Li 15| move v7, v4 256*f0dffb02SXin Li 16| move-object v8, v2 257*f0dffb02SXin Li 17| invoke-virtual {v6,v7,v8}, Base.foo(int, java.lang.String):int 258*f0dffb02SXin Li 20| move-result v6 259*f0dffb02SXin Li 21| add-int/2addr v5, v6 260*f0dffb02SXin Li 22| move v3, v5 261*f0dffb02SXin Li .line 66 262*f0dffb02SXin Li 23| add-int/lit8 v4, v4, #+1 (0x00000001 | 1.40130e-45) 263*f0dffb02SXin Li 25| goto/16 Label_1 264*f0dffb02SXin LiLabel_2: 265*f0dffb02SXin Li .line 70 266*f0dffb02SXin Li 27| move v5, v3 267*f0dffb02SXin Li 28| move v0, v5 268*f0dffb02SXin Li .end_local v0 269*f0dffb02SXin Li 29| return v0 270*f0dffb02SXin Li} 271*f0dffb02SXin Li 272*f0dffb02SXin Limethod Target.foo(int, java.lang.String, java.lang.String):int 273*f0dffb02SXin Li{ 274*f0dffb02SXin Li .params "?", "?", "?" 275*f0dffb02SXin Li .src "entryHooks.java" 276*f0dffb02SXin Li .line 76 277*f0dffb02SXin Li .prologue_end 278*f0dffb02SXin Li .line 76 279*f0dffb02SXin Li 0| move-object v0, v5 280*f0dffb02SXin Li .local v0, "this", Target 281*f0dffb02SXin Li 1| move v1, v6 282*f0dffb02SXin Li .local v1, "x", int 283*f0dffb02SXin Li 2| move-object v2, v7 284*f0dffb02SXin Li .local v2, "msg", java.lang.String 285*f0dffb02SXin Li 3| move-object v3, v8 286*f0dffb02SXin Li .local v3, "msg2", java.lang.String 287*f0dffb02SXin Li 4| const/4 v4, #+3 (0x00000003 | 4.20390e-45) 288*f0dffb02SXin Li 5| move v0, v4 289*f0dffb02SXin Li .end_local v0 290*f0dffb02SXin Li 6| return v0 291*f0dffb02SXin Li} 292*f0dffb02SXin Li 293*f0dffb02SXin Limethod Target.foo(int, java.lang.String[]):int 294*f0dffb02SXin Li{ 295*f0dffb02SXin Li .params "?", "?" 296*f0dffb02SXin Li .src "entryHooks.java" 297*f0dffb02SXin Li .line 77 298*f0dffb02SXin Li .prologue_end 299*f0dffb02SXin Li .line 77 300*f0dffb02SXin Li 0| move-object v0, v4 301*f0dffb02SXin Li .local v0, "this", Target 302*f0dffb02SXin Li 1| move v1, v5 303*f0dffb02SXin Li .local v1, "x", int 304*f0dffb02SXin Li 2| move-object v2, v6 305*f0dffb02SXin Li .local v2, "msgs", java.lang.String[] 306*f0dffb02SXin Li 3| const/4 v3, #+4 (0x00000004 | 5.60519e-45) 307*f0dffb02SXin Li 4| move v0, v3 308*f0dffb02SXin Li .end_local v0 309*f0dffb02SXin Li 5| return v0 310*f0dffb02SXin Li} 311*f0dffb02SXin Li 312*f0dffb02SXin Limethod Target.foo(int, java.lang.String[][]):java.lang.Integer 313*f0dffb02SXin Li{ 314*f0dffb02SXin Li .params "?", "?" 315*f0dffb02SXin Li .src "entryHooks.java" 316*f0dffb02SXin Li .line 78 317*f0dffb02SXin Li .prologue_end 318*f0dffb02SXin Li .line 78 319*f0dffb02SXin Li 0| move-object v0, v4 320*f0dffb02SXin Li .local v0, "this", Target 321*f0dffb02SXin Li 1| move v1, v5 322*f0dffb02SXin Li .local v1, "x", int 323*f0dffb02SXin Li 2| move-object v2, v6 324*f0dffb02SXin Li .local v2, "msgs", java.lang.String[][] 325*f0dffb02SXin Li 3| const/4 v3, #+5 (0x00000005 | 7.00649e-45) 326*f0dffb02SXin Li 4| invoke-static {v3}, java.lang.Integer.valueOf(int):java.lang.Integer 327*f0dffb02SXin Li 7| move-result-object v3 328*f0dffb02SXin Li 8| move-object v0, v3 329*f0dffb02SXin Li .end_local v0 330*f0dffb02SXin Li 9| return-object v0 331*f0dffb02SXin Li} 332*f0dffb02SXin Li 333*f0dffb02SXin Limethod Target.foo():void 334*f0dffb02SXin Li{ 335*f0dffb02SXin Li .src "entryHooks.java" 336*f0dffb02SXin Li .line 73 337*f0dffb02SXin Li .prologue_end 338*f0dffb02SXin Li .line 73 339*f0dffb02SXin Li 0| return-void 340*f0dffb02SXin Li} 341*f0dffb02SXin Li 342*f0dffb02SXin Limethod Tracer.<init>():void 343*f0dffb02SXin Li{ 344*f0dffb02SXin Li .src "entryHooks.java" 345*f0dffb02SXin Li .line 2 346*f0dffb02SXin Li .prologue_end 347*f0dffb02SXin Li .line 2 348*f0dffb02SXin Li 0| move-object v0, v2 349*f0dffb02SXin Li .local v0, "this", Tracer 350*f0dffb02SXin Li 1| move-object v1, v0 351*f0dffb02SXin Li 2| invoke-direct {v1}, java.lang.Object.<init>():void 352*f0dffb02SXin Li 5| return-void 353*f0dffb02SXin Li} 354*f0dffb02SXin Li 355*f0dffb02SXin Limethod Tracer.onEntry(java.lang.String):void 356*f0dffb02SXin Li{ 357*f0dffb02SXin Li .params "?" 358*f0dffb02SXin Li .src "entryHooks.java" 359*f0dffb02SXin Li .line 6 360*f0dffb02SXin Li .prologue_end 361*f0dffb02SXin Li .line 6 362*f0dffb02SXin Li 0| move-object v0, v5 363*f0dffb02SXin Li .local v0, "methodName", java.lang.String 364*f0dffb02SXin Li 1| sget-object v1, java.lang.System.out 365*f0dffb02SXin Li 3| new-instance v2, java.lang.StringBuilder 366*f0dffb02SXin Li 5| move-object v4, v2 367*f0dffb02SXin Li 6| move-object v2, v4 368*f0dffb02SXin Li 7| move-object v3, v4 369*f0dffb02SXin Li 8| invoke-direct {v3}, java.lang.StringBuilder.<init>():void 370*f0dffb02SXin Li 11| const-string v3, "OnEntry(" 371*f0dffb02SXin Li 13| invoke-virtual {v2,v3}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder 372*f0dffb02SXin Li 16| move-result-object v2 373*f0dffb02SXin Li 17| move-object v3, v0 374*f0dffb02SXin Li 18| invoke-virtual {v2,v3}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder 375*f0dffb02SXin Li 21| move-result-object v2 376*f0dffb02SXin Li 22| const-string v3, ")" 377*f0dffb02SXin Li 24| invoke-virtual {v2,v3}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder 378*f0dffb02SXin Li 27| move-result-object v2 379*f0dffb02SXin Li 28| invoke-virtual {v2}, java.lang.StringBuilder.toString():java.lang.String 380*f0dffb02SXin Li 31| move-result-object v2 381*f0dffb02SXin Li 32| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 382*f0dffb02SXin Li .line 7 383*f0dffb02SXin Li 35| return-void 384*f0dffb02SXin Li} 385*f0dffb02SXin Li 386*f0dffb02SXin Limethod Tracer.onFooEntry(Target, int, java.lang.String):void 387*f0dffb02SXin Li{ 388*f0dffb02SXin Li .params "?", "?", "?" 389*f0dffb02SXin Li .src "entryHooks.java" 390*f0dffb02SXin Li .line 11 391*f0dffb02SXin Li .prologue_end 392*f0dffb02SXin Li .line 11 393*f0dffb02SXin Li 0| move-object v0, v10 394*f0dffb02SXin Li .local v0, "__this", Target 395*f0dffb02SXin Li 1| move v1, v11 396*f0dffb02SXin Li .local v1, "x", int 397*f0dffb02SXin Li 2| move-object v2, v12 398*f0dffb02SXin Li .local v2, "msg", java.lang.String 399*f0dffb02SXin Li 3| sget-object v3, java.lang.System.out 400*f0dffb02SXin Li 5| const-string v4, ">>> onFooEntry(%s, %d, %s)\n" 401*f0dffb02SXin Li 7| const/4 v5, #+3 (0x00000003 | 4.20390e-45) 402*f0dffb02SXin Li 8| new-array v5, v5, java.lang.Object[] 403*f0dffb02SXin Li 10| move-object v9, v5 404*f0dffb02SXin Li 11| move-object v5, v9 405*f0dffb02SXin Li 12| move-object v6, v9 406*f0dffb02SXin Li 13| const/4 v7, #+0 (0x00000000 | 0.00000) 407*f0dffb02SXin Li 14| move-object v8, v0 408*f0dffb02SXin Li 15| aput-object v8, v6, v7 409*f0dffb02SXin Li 17| move-object v9, v5 410*f0dffb02SXin Li 18| move-object v5, v9 411*f0dffb02SXin Li 19| move-object v6, v9 412*f0dffb02SXin Li 20| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 413*f0dffb02SXin Li 21| move v8, v1 414*f0dffb02SXin Li 22| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer 415*f0dffb02SXin Li 25| move-result-object v8 416*f0dffb02SXin Li 26| aput-object v8, v6, v7 417*f0dffb02SXin Li 28| move-object v9, v5 418*f0dffb02SXin Li 29| move-object v5, v9 419*f0dffb02SXin Li 30| move-object v6, v9 420*f0dffb02SXin Li 31| const/4 v7, #+2 (0x00000002 | 2.80260e-45) 421*f0dffb02SXin Li 32| move-object v8, v2 422*f0dffb02SXin Li 33| aput-object v8, v6, v7 423*f0dffb02SXin Li 35| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 424*f0dffb02SXin Li 38| move-result-object v3 425*f0dffb02SXin Li .line 12 426*f0dffb02SXin Li 39| return-void 427*f0dffb02SXin Li} 428*f0dffb02SXin Li 429*f0dffb02SXin Limethod Tracer.onFooExit(int):int 430*f0dffb02SXin Li{ 431*f0dffb02SXin Li .params "?" 432*f0dffb02SXin Li .src "entryHooks.java" 433*f0dffb02SXin Li .line 16 434*f0dffb02SXin Li .prologue_end 435*f0dffb02SXin Li .line 16 436*f0dffb02SXin Li 0| move v0, v8 437*f0dffb02SXin Li .local v0, "retValue", int 438*f0dffb02SXin Li 1| sget-object v1, java.lang.System.out 439*f0dffb02SXin Li 3| const-string v2, ">>> onFooExit(%d)\n" 440*f0dffb02SXin Li 5| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 441*f0dffb02SXin Li 6| new-array v3, v3, java.lang.Object[] 442*f0dffb02SXin Li 8| move-object v7, v3 443*f0dffb02SXin Li 9| move-object v3, v7 444*f0dffb02SXin Li 10| move-object v4, v7 445*f0dffb02SXin Li 11| const/4 v5, #+0 (0x00000000 | 0.00000) 446*f0dffb02SXin Li 12| move v6, v0 447*f0dffb02SXin Li 13| invoke-static {v6}, java.lang.Integer.valueOf(int):java.lang.Integer 448*f0dffb02SXin Li 16| move-result-object v6 449*f0dffb02SXin Li 17| aput-object v6, v4, v5 450*f0dffb02SXin Li 19| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 451*f0dffb02SXin Li 22| move-result-object v1 452*f0dffb02SXin Li .line 17 453*f0dffb02SXin Li 23| move v1, v0 454*f0dffb02SXin Li 24| const/16 v2, #+100 (0x00000064 | 1.40130e-43) 455*f0dffb02SXin Li 26| add-int/lit8 v1, v1, #+100 (0x00000064 | 1.40130e-43) 456*f0dffb02SXin Li 28| move v0, v1 457*f0dffb02SXin Li .end_local v0 458*f0dffb02SXin Li 29| return v0 459*f0dffb02SXin Li} 460*f0dffb02SXin Li 461*f0dffb02SXin Limethod Tracer.wrapFoo(Base, int, java.lang.String):int 462*f0dffb02SXin Li{ 463*f0dffb02SXin Li .params "?", "?", "?" 464*f0dffb02SXin Li .src "entryHooks.java" 465*f0dffb02SXin Li .line 22 466*f0dffb02SXin Li .prologue_end 467*f0dffb02SXin Li .line 22 468*f0dffb02SXin Li 0| move-object v0, v10 469*f0dffb02SXin Li .local v0, "_this", Base 470*f0dffb02SXin Li 1| move v1, v11 471*f0dffb02SXin Li .local v1, "x", int 472*f0dffb02SXin Li 2| move-object v2, v12 473*f0dffb02SXin Li .local v2, "msg", java.lang.String 474*f0dffb02SXin Li 3| sget-object v3, java.lang.System.out 475*f0dffb02SXin Li 5| const-string v4, ">>> %s.test(%d, %s)\n" 476*f0dffb02SXin Li 7| const/4 v5, #+3 (0x00000003 | 4.20390e-45) 477*f0dffb02SXin Li 8| new-array v5, v5, java.lang.Object[] 478*f0dffb02SXin Li 10| move-object v9, v5 479*f0dffb02SXin Li 11| move-object v5, v9 480*f0dffb02SXin Li 12| move-object v6, v9 481*f0dffb02SXin Li 13| const/4 v7, #+0 (0x00000000 | 0.00000) 482*f0dffb02SXin Li 14| move-object v8, v0 483*f0dffb02SXin Li 15| invoke-virtual {v8}, java.lang.Object.getClass():java.lang.Class 484*f0dffb02SXin Li 18| move-result-object v8 485*f0dffb02SXin Li 19| invoke-virtual {v8}, java.lang.Class.getName():java.lang.String 486*f0dffb02SXin Li 22| move-result-object v8 487*f0dffb02SXin Li 23| aput-object v8, v6, v7 488*f0dffb02SXin Li 25| move-object v9, v5 489*f0dffb02SXin Li 26| move-object v5, v9 490*f0dffb02SXin Li 27| move-object v6, v9 491*f0dffb02SXin Li 28| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 492*f0dffb02SXin Li 29| move v8, v1 493*f0dffb02SXin Li 30| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer 494*f0dffb02SXin Li 33| move-result-object v8 495*f0dffb02SXin Li 34| aput-object v8, v6, v7 496*f0dffb02SXin Li 36| move-object v9, v5 497*f0dffb02SXin Li 37| move-object v5, v9 498*f0dffb02SXin Li 38| move-object v6, v9 499*f0dffb02SXin Li 39| const/4 v7, #+2 (0x00000002 | 2.80260e-45) 500*f0dffb02SXin Li 40| move-object v8, v2 501*f0dffb02SXin Li 41| aput-object v8, v6, v7 502*f0dffb02SXin Li 43| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 503*f0dffb02SXin Li 46| move-result-object v3 504*f0dffb02SXin Li .line 23 505*f0dffb02SXin Li 47| move-object v3, v0 506*f0dffb02SXin Li 48| move v4, v1 507*f0dffb02SXin Li 49| move-object v5, v2 508*f0dffb02SXin Li 50| invoke-virtual {v3,v4,v5}, Base.foo(int, java.lang.String):int 509*f0dffb02SXin Li 53| move-result v3 510*f0dffb02SXin Li 54| const/16 v4, #+10 (0x0000000a | 1.40130e-44) 511*f0dffb02SXin Li 56| add-int/lit8 v3, v3, #+10 (0x0000000a | 1.40130e-44) 512*f0dffb02SXin Li 58| move v0, v3 513*f0dffb02SXin Li .end_local v0 514*f0dffb02SXin Li 59| return v0 515*f0dffb02SXin Li} 516