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