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