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