Home | History | Annotate | Download | only in expected
      1 
      2 method Base$Inner.<init>(Base):void
      3 {
      4 ............................. begin block 1 .............................
      5 	    0| move-object v0, v4
      6 	    1| move-object v1, v5
      7 	    2| move-object v2, v0
      8 	    3| move-object v3, v1
      9 	    4| iput-object v3, v2, Base$Inner.this$0
     10 .............................. end block 1 ..............................
     11 ............................. begin block 2 .............................
     12 	    6| move-object v2, v0
     13 	    7| invoke-direct {v2}, java.lang.Object.<init>():void
     14 .............................. end block 2 ..............................
     15 ............................. begin block 3 .............................
     16 	   10| return-void
     17 .............................. end block 3 ..............................
     18 }
     19 
     20 method Base$Nested.<init>():void
     21 {
     22 ............................. begin block 1 .............................
     23 	    0| move-object v0, v2
     24 	    1| move-object v1, v0
     25 	    2| invoke-direct {v1}, java.lang.Object.<init>():void
     26 .............................. end block 1 ..............................
     27 ............................. begin block 2 .............................
     28 	    5| return-void
     29 .............................. end block 2 ..............................
     30 }
     31 
     32 method Base.<init>():void
     33 {
     34 ............................. begin block 1 .............................
     35 	    0| move-object v0, v2
     36 	    1| move-object v1, v0
     37 	    2| invoke-direct {v1}, java.lang.Object.<init>():void
     38 .............................. end block 1 ..............................
     39 ............................. begin block 2 .............................
     40 	    5| return-void
     41 .............................. end block 2 ..............................
     42 }
     43 
     44 method Base.test(int):void
     45 {
     46 ............................. begin block 1 .............................
     47 	    0| move-object v0, v6
     48 	    1| move v1, v7
     49 	    2| invoke-static {}, Hello.printStackTrace():void
     50 .............................. end block 1 ..............................
     51 ............................. begin block 2 .............................
     52 	    5| sget-object v2, java.lang.System.out
     53 .............................. end block 2 ..............................
     54 ............................. begin block 3 .............................
     55 	    7| new-instance v3, java.lang.StringBuilder
     56 .............................. end block 3 ..............................
     57 ............................. begin block 4 .............................
     58 	    9| move-object v5, v3
     59 	   10| move-object v3, v5
     60 	   11| move-object v4, v5
     61 	   12| invoke-direct {v4}, java.lang.StringBuilder.<init>():void
     62 .............................. end block 4 ..............................
     63 ............................. begin block 5 .............................
     64 	   15| const-string v4, "Base.test "
     65 .............................. end block 5 ..............................
     66 ............................. begin block 6 .............................
     67 	   17| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
     68 .............................. end block 6 ..............................
     69 ............................. begin block 7 .............................
     70 	   20| move-result-object v3
     71 	   21| move v4, v1
     72 	   22| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(int):java.lang.StringBuilder
     73 .............................. end block 7 ..............................
     74 ............................. begin block 8 .............................
     75 	   25| move-result-object v3
     76 	   26| invoke-virtual {v3}, java.lang.StringBuilder.toString():java.lang.String
     77 .............................. end block 8 ..............................
     78 ............................. begin block 9 .............................
     79 	   29| move-result-object v3
     80 	   30| invoke-virtual {v2,v3}, java.io.PrintStream.println(java.lang.String):void
     81 .............................. end block 9 ..............................
     82 ............................. begin block 10 .............................
     83 	   33| return-void
     84 .............................. end block 10 ..............................
     85 }
     86 
     87 method Derived.<init>():void
     88 {
     89 ............................. begin block 1 .............................
     90 	    0| move-object v0, v2
     91 	    1| move-object v1, v0
     92 	    2| invoke-direct {v1}, Base.<init>():void
     93 .............................. end block 1 ..............................
     94 ............................. begin block 2 .............................
     95 	    5| return-void
     96 .............................. end block 2 ..............................
     97 }
     98 
     99 method Derived.test(int):void
    100 {
    101 ............................. begin block 1 .............................
    102 	    0| move-object v0, v6
    103 	    1| move v1, v7
    104 	    2| sget-object v2, java.lang.System.out
    105 .............................. end block 1 ..............................
    106 ............................. begin block 2 .............................
    107 	    4| new-instance v3, java.lang.StringBuilder
    108 .............................. end block 2 ..............................
    109 ............................. begin block 3 .............................
    110 	    6| move-object v5, v3
    111 	    7| move-object v3, v5
    112 	    8| move-object v4, v5
    113 	    9| invoke-direct {v4}, java.lang.StringBuilder.<init>():void
    114 .............................. end block 3 ..............................
    115 ............................. begin block 4 .............................
    116 	   12| const-string v4, "Derived.test "
    117 .............................. end block 4 ..............................
    118 ............................. begin block 5 .............................
    119 	   14| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
    120 .............................. end block 5 ..............................
    121 ............................. begin block 6 .............................
    122 	   17| move-result-object v3
    123 	   18| move v4, v1
    124 	   19| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(int):java.lang.StringBuilder
    125 .............................. end block 6 ..............................
    126 ............................. begin block 7 .............................
    127 	   22| move-result-object v3
    128 	   23| invoke-virtual {v3}, java.lang.StringBuilder.toString():java.lang.String
    129 .............................. end block 7 ..............................
    130 ............................. begin block 8 .............................
    131 	   26| move-result-object v3
    132 	   27| invoke-virtual {v2,v3}, java.io.PrintStream.println(java.lang.String):void
    133 .............................. end block 8 ..............................
    134 ............................. begin block 9 .............................
    135 	   30| return-void
    136 .............................. end block 9 ..............................
    137 }
    138 
    139 method Hello.<init>():void
    140 {
    141 ............................. begin block 1 .............................
    142 	    0| move-object v0, v2
    143 	    1| move-object v1, v0
    144 	    2| invoke-direct {v1}, java.lang.Object.<init>():void
    145 .............................. end block 1 ..............................
    146 ............................. begin block 2 .............................
    147 	    5| return-void
    148 .............................. end block 2 ..............................
    149 }
    150 
    151 method Hello.main(java.lang.String[]):void
    152 {
    153 ............................. begin block 1 .............................
    154 	    0| move-object v0, v6
    155 	    1| sget-object v2, java.lang.System.out
    156 .............................. end block 1 ..............................
    157 ............................. begin block 2 .............................
    158 	    3| const-string v3, "-------------------------------------------------------\n"
    159 .............................. end block 2 ..............................
    160 ............................. begin block 3 .............................
    161 	    5| const/4 v4, #+0 (0x00000000 | 0.00000)
    162 	    6| new-array v4, v4, java.lang.Object[]
    163 .............................. end block 3 ..............................
    164 ............................. begin block 4 .............................
    165 	    8| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
    166 .............................. end block 4 ..............................
    167 ............................. begin block 5 .............................
    168 	   11| move-result-object v2
    169 	   12| sget-object v2, java.lang.System.out
    170 .............................. end block 5 ..............................
    171 ............................. begin block 6 .............................
    172 	   14| const-string v3, "Hello, world (original)"
    173 .............................. end block 6 ..............................
    174 ............................. begin block 7 .............................
    175 	   16| invoke-virtual {v2,v3}, java.io.PrintStream.println(java.lang.String):void
    176 .............................. end block 7 ..............................
    177 ............................. begin block 8 .............................
    178 	   19| sget-object v2, java.lang.System.out
    179 .............................. end block 8 ..............................
    180 ............................. begin block 9 .............................
    181 	   21| const-string v3, "-------------------------------------------------------\n"
    182 .............................. end block 9 ..............................
    183 ............................. begin block 10 .............................
    184 	   23| const/4 v4, #+0 (0x00000000 | 0.00000)
    185 	   24| new-array v4, v4, java.lang.Object[]
    186 .............................. end block 10 ..............................
    187 ............................. begin block 11 .............................
    188 	   26| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
    189 .............................. end block 11 ..............................
    190 ............................. begin block 12 .............................
    191 	   29| move-result-object v2
    192 	   30| new-instance v2, Base
    193 .............................. end block 12 ..............................
    194 ............................. begin block 13 .............................
    195 	   32| move-object v5, v2
    196 	   33| move-object v2, v5
    197 	   34| move-object v3, v5
    198 	   35| invoke-direct {v3}, Base.<init>():void
    199 .............................. end block 13 ..............................
    200 ............................. begin block 14 .............................
    201 	   38| move-object v1, v2
    202 	   39| move-object v2, v1
    203 	   40| const/4 v3, #+1 (0x00000001 | 1.40130e-45)
    204 	   41| invoke-virtual {v2,v3}, Base.test(int):void
    205 .............................. end block 14 ..............................
    206 ............................. begin block 15 .............................
    207 	   44| sget-object v2, java.lang.System.out
    208 .............................. end block 15 ..............................
    209 ............................. begin block 16 .............................
    210 	   46| const-string v3, "-------------------------------------------------------\n"
    211 .............................. end block 16 ..............................
    212 ............................. begin block 17 .............................
    213 	   48| const/4 v4, #+0 (0x00000000 | 0.00000)
    214 	   49| new-array v4, v4, java.lang.Object[]
    215 .............................. end block 17 ..............................
    216 ............................. begin block 18 .............................
    217 	   51| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
    218 .............................. end block 18 ..............................
    219 ............................. begin block 19 .............................
    220 	   54| move-result-object v2
    221 	   55| new-instance v2, Derived
    222 .............................. end block 19 ..............................
    223 ............................. begin block 20 .............................
    224 	   57| move-object v5, v2
    225 	   58| move-object v2, v5
    226 	   59| move-object v3, v5
    227 	   60| invoke-direct {v3}, Derived.<init>():void
    228 .............................. end block 20 ..............................
    229 ............................. begin block 21 .............................
    230 	   63| move-object v1, v2
    231 	   64| move-object v2, v1
    232 	   65| const/4 v3, #+2 (0x00000002 | 2.80260e-45)
    233 	   66| invoke-virtual {v2,v3}, Base.test(int):void
    234 .............................. end block 21 ..............................
    235 ............................. begin block 22 .............................
    236 	   69| return-void
    237 .............................. end block 22 ..............................
    238 }
    239 
    240 method Hello.printStackTrace():void
    241 {
    242 ............................. begin block 1 .............................
    243 	    0| new-instance v5, java.lang.Throwable
    244 .............................. end block 1 ..............................
    245 ............................. begin block 2 .............................
    246 	    2| move-object v11, v5
    247 	    3| move-object v5, v11
    248 	    4| move-object v6, v11
    249 	    5| invoke-direct {v6}, java.lang.Throwable.<init>():void
    250 .............................. end block 2 ..............................
    251 ............................. begin block 3 .............................
    252 	    8| invoke-virtual {v5}, java.lang.Throwable.getStackTrace():java.lang.StackTraceElement[]
    253 .............................. end block 3 ..............................
    254 ............................. begin block 4 .............................
    255 	   11| move-result-object v5
    256 	   12| move-object v0, v5
    257 	   13| move-object v5, v0
    258 	   14| move-object v1, v5
    259 	   15| move-object v5, v1
    260 	   16| array-length v5, v5
    261 .............................. end block 4 ..............................
    262 ............................. begin block 5 .............................
    263 	   17| move v2, v5
    264 	   18| const/4 v5, #+0 (0x00000000 | 0.00000)
    265 	   19| move v3, v5
    266 .............................. end block 5 ..............................
    267 ............................. begin block 6 .............................
    268 Label_1:
    269 	   20| move v5, v3
    270 	   21| move v6, v2
    271 	   22| if-ge v5, v6, Label_2
    272 .............................. end block 6 ..............................
    273 ............................. begin block 7 .............................
    274 	   24| move-object v5, v1
    275 	   25| move v6, v3
    276 	   26| aget-object v5, v5, v6
    277 .............................. end block 7 ..............................
    278 ............................. begin block 8 .............................
    279 	   28| move-object v4, v5
    280 	   29| sget-object v5, java.lang.System.out
    281 .............................. end block 8 ..............................
    282 ............................. begin block 9 .............................
    283 	   31| const-string v6, "   %s\n"
    284 .............................. end block 9 ..............................
    285 ............................. begin block 10 .............................
    286 	   33| const/4 v7, #+1 (0x00000001 | 1.40130e-45)
    287 	   34| new-array v7, v7, java.lang.Object[]
    288 .............................. end block 10 ..............................
    289 ............................. begin block 11 .............................
    290 	   36| move-object v11, v7
    291 	   37| move-object v7, v11
    292 	   38| move-object v8, v11
    293 	   39| const/4 v9, #+0 (0x00000000 | 0.00000)
    294 	   40| move-object v10, v4
    295 	   41| invoke-virtual {v10}, java.lang.StackTraceElement.toString():java.lang.String
    296 .............................. end block 11 ..............................
    297 ............................. begin block 12 .............................
    298 	   44| move-result-object v10
    299 	   45| aput-object v10, v8, v9
    300 .............................. end block 12 ..............................
    301 ............................. begin block 13 .............................
    302 	   47| invoke-virtual {v5,v6,v7}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
    303 .............................. end block 13 ..............................
    304 ............................. begin block 14 .............................
    305 	   50| move-result-object v5
    306 	   51| add-int/lit8 v3, v3, #+1 (0x00000001 | 1.40130e-45)
    307 	   53| goto Label_1
    308 .............................. end block 14 ..............................
    309 ............................. begin block 15 .............................
    310 Label_2:
    311 	   54| return-void
    312 .............................. end block 15 ..............................
    313 }
    314