Home | History | Annotate | Download | only in webkit
      1 # Copyright 2013 the V8 project authors. All rights reserved.
      2 # Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
      3 #
      4 # Redistribution and use in source and binary forms, with or without
      5 # modification, are permitted provided that the following conditions
      6 # are met:
      7 # 1.  Redistributions of source code must retain the above copyright
      8 #     notice, this list of conditions and the following disclaimer.
      9 # 2.  Redistributions in binary form must reproduce the above copyright
     10 #     notice, this list of conditions and the following disclaimer in the
     11 #     documentation and/or other materials provided with the distribution.
     12 #
     13 # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
     14 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     15 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     16 # DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
     17 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     18 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     19 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
     20 # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     21 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     22 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     23 
     24 Tests what happens when we OSR exit on an inlined prototype access due to a change in the prototype chain.
     25 
     26 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     27 
     28 
     29 PASS foo({g:new Thingy()}) is 42
     30 PASS foo({g:new Thingy()}) is 42
     31 PASS foo({g:new Thingy()}) is 42
     32 PASS foo({g:new Thingy()}) is 42
     33 PASS foo({g:new Thingy()}) is 42
     34 PASS foo({g:new Thingy()}) is 42
     35 PASS foo({g:new Thingy()}) is 42
     36 PASS foo({g:new Thingy()}) is 42
     37 PASS foo({g:new Thingy()}) is 42
     38 PASS foo({g:new Thingy()}) is 42
     39 PASS foo({g:new Thingy()}) is 42
     40 PASS foo({g:new Thingy()}) is 42
     41 PASS foo({g:new Thingy()}) is 42
     42 PASS foo({g:new Thingy()}) is 42
     43 PASS foo({g:new Thingy()}) is 42
     44 PASS foo({g:new Thingy()}) is 42
     45 PASS foo({g:new Thingy()}) is 42
     46 PASS foo({g:new Thingy()}) is 42
     47 PASS foo({g:new Thingy()}) is 42
     48 PASS foo({g:new Thingy()}) is 42
     49 PASS foo({g:new Thingy()}) is 42
     50 PASS foo({g:new Thingy()}) is 42
     51 PASS foo({g:new Thingy()}) is 42
     52 PASS foo({g:new Thingy()}) is 42
     53 PASS foo({g:new Thingy()}) is 42
     54 PASS foo({g:new Thingy()}) is 42
     55 PASS foo({g:new Thingy()}) is 42
     56 PASS foo({g:new Thingy()}) is 42
     57 PASS foo({g:new Thingy()}) is 42
     58 PASS foo({g:new Thingy()}) is 42
     59 PASS foo({g:new Thingy()}) is 42
     60 PASS foo({g:new Thingy()}) is 42
     61 PASS foo({g:new Thingy()}) is 42
     62 PASS foo({g:new Thingy()}) is 42
     63 PASS foo({g:new Thingy()}) is 42
     64 PASS foo({g:new Thingy()}) is 42
     65 PASS foo({g:new Thingy()}) is 42
     66 PASS foo({g:new Thingy()}) is 42
     67 PASS foo({g:new Thingy()}) is 42
     68 PASS foo({g:new Thingy()}) is 42
     69 PASS foo({g:new Thingy()}) is 42
     70 PASS foo({g:new Thingy()}) is 42
     71 PASS foo({g:new Thingy()}) is 42
     72 PASS foo({g:new Thingy()}) is 42
     73 PASS foo({g:new Thingy()}) is 42
     74 PASS foo({g:new Thingy()}) is 42
     75 PASS foo({g:new Thingy()}) is 42
     76 PASS foo({g:new Thingy()}) is 42
     77 PASS foo({g:new Thingy()}) is 42
     78 PASS foo({g:new Thingy()}) is 42
     79 PASS foo({g:new Thingy()}) is 42
     80 PASS foo({g:new Thingy()}) is 42
     81 PASS foo({g:new Thingy()}) is 42
     82 PASS foo({g:new Thingy()}) is 42
     83 PASS foo({g:new Thingy()}) is 42
     84 PASS foo({g:new Thingy()}) is 42
     85 PASS foo({g:new Thingy()}) is 42
     86 PASS foo({g:new Thingy()}) is 42
     87 PASS foo({g:new Thingy()}) is 42
     88 PASS foo({g:new Thingy()}) is 42
     89 PASS foo({g:new Thingy()}) is 42
     90 PASS foo({g:new Thingy()}) is 42
     91 PASS foo({g:new Thingy()}) is 42
     92 PASS foo({g:new Thingy()}) is 42
     93 PASS foo({g:new Thingy()}) is 42
     94 PASS foo({g:new Thingy()}) is 42
     95 PASS foo({g:new Thingy()}) is 42
     96 PASS foo({g:new Thingy()}) is 42
     97 PASS foo({g:new Thingy()}) is 42
     98 PASS foo({g:new Thingy()}) is 42
     99 PASS foo({g:new Thingy()}) is 42
    100 PASS foo({g:new Thingy()}) is 42
    101 PASS foo({g:new Thingy()}) is 42
    102 PASS foo({g:new Thingy()}) is 42
    103 PASS foo({g:new Thingy()}) is 42
    104 PASS foo({g:new Thingy()}) is 42
    105 PASS foo({g:new Thingy()}) is 42
    106 PASS foo({g:new Thingy()}) is 42
    107 PASS foo({g:new Thingy()}) is 42
    108 PASS foo({g:new Thingy()}) is 42
    109 PASS foo({g:new Thingy()}) is 42
    110 PASS foo({g:new Thingy()}) is 42
    111 PASS foo({g:new Thingy()}) is 42
    112 PASS foo({g:new Thingy()}) is 42
    113 PASS foo({g:new Thingy()}) is 42
    114 PASS foo({g:new Thingy()}) is 42
    115 PASS foo({g:new Thingy()}) is 42
    116 PASS foo({g:new Thingy()}) is 42
    117 PASS foo({g:new Thingy()}) is 42
    118 PASS foo({g:new Thingy()}) is 42
    119 PASS foo({g:new Thingy()}) is 42
    120 PASS foo({g:new Thingy()}) is 42
    121 PASS foo({g:new Thingy()}) is 42
    122 PASS foo({g:new Thingy()}) is 42
    123 PASS foo({g:new Thingy()}) is 42
    124 PASS foo({g:new Thingy()}) is 42
    125 PASS foo({g:new Thingy()}) is 42
    126 PASS foo({g:new Thingy()}) is 42
    127 PASS foo({g:new Thingy()}) is 42
    128 PASS foo({g:new Thingy()}) is 42
    129 PASS foo({g:new Thingy()}) is 42
    130 PASS foo({g:new Thingy()}) is 42
    131 PASS foo({g:new Thingy()}) is 42
    132 PASS foo({g:new Thingy()}) is 42
    133 PASS foo({g:new Thingy()}) is 42
    134 PASS foo({g:new Thingy()}) is 42
    135 PASS foo({g:new Thingy()}) is 42
    136 PASS foo({g:new Thingy()}) is 42
    137 PASS foo({g:new Thingy()}) is 42
    138 PASS foo({g:new Thingy()}) is 42
    139 PASS foo({g:new Thingy()}) is 42
    140 PASS foo({g:new Thingy()}) is 42
    141 PASS foo({g:new Thingy()}) is 42
    142 PASS foo({g:new Thingy()}) is 42
    143 PASS foo({g:new Thingy()}) is 42
    144 PASS foo({g:new Thingy()}) is 42
    145 PASS foo({g:new Thingy()}) is 42
    146 PASS foo({g:new Thingy()}) is 42
    147 PASS foo({g:new Thingy()}) is 42
    148 PASS foo({g:new Thingy()}) is 42
    149 PASS foo({g:new Thingy()}) is 42
    150 PASS foo({g:new Thingy()}) is 42
    151 PASS foo({g:new Thingy()}) is 42
    152 PASS foo({g:new Thingy()}) is 42
    153 PASS foo({g:new Thingy()}) is 42
    154 PASS foo({g:new Thingy()}) is 42
    155 PASS foo({g:new Thingy()}) is 42
    156 PASS foo({g:new Thingy()}) is 42
    157 PASS foo({g:new Thingy()}) is 42
    158 PASS foo({g:new Thingy()}) is 42
    159 PASS foo({g:new Thingy()}) is 42
    160 PASS foo({g:new Thingy()}) is 42
    161 PASS foo({g:new Thingy()}) is 42
    162 PASS foo({g:new Thingy()}) is 42
    163 PASS foo({g:new Thingy()}) is 42
    164 PASS foo({g:new Thingy()}) is 42
    165 PASS foo({g:new Thingy()}) is 42
    166 PASS foo({g:new Thingy()}) is 42
    167 PASS foo({g:new Thingy()}) is 42
    168 PASS foo({g:new Thingy()}) is 42
    169 PASS foo({g:new Thingy()}) is 42
    170 PASS foo({g:new Thingy()}) is 42
    171 PASS foo({g:new Thingy()}) is 42
    172 PASS foo({g:new Thingy()}) is 42
    173 PASS foo({g:new Thingy()}) is 42
    174 PASS foo({g:new Thingy()}) is 42
    175 PASS foo({g:new Thingy()}) is 42
    176 PASS foo({g:new Thingy()}) is 42
    177 PASS foo({g:new Thingy()}) is 42
    178 PASS foo({g:new Thingy()}) is 42
    179 PASS foo({g:new Thingy()}) is 42
    180 PASS foo({g:new Thingy()}) is 42
    181 PASS foo({g:new Thingy()}) is 42
    182 PASS foo({g:new Thingy()}) is 42
    183 PASS foo({g:new Thingy()}) is 42
    184 PASS foo({g:new Thingy()}) is 42
    185 PASS foo({g:new Thingy()}) is 42
    186 PASS foo({g:new Thingy()}) is 42
    187 PASS foo({g:new Thingy()}) is 42
    188 PASS foo({g:new Thingy()}) is 42
    189 PASS foo({g:new Thingy()}) is 42
    190 PASS foo({g:new Thingy()}) is 42
    191 PASS foo({g:new Thingy()}) is 42
    192 PASS foo({g:new Thingy()}) is 42
    193 PASS foo({g:new Thingy()}) is 42
    194 PASS foo({g:new Thingy()}) is 42
    195 PASS foo({g:new Thingy()}) is 42
    196 PASS foo({g:new Thingy()}) is 42
    197 PASS foo({g:new Thingy()}) is 42
    198 PASS foo({g:new Thingy()}) is 42
    199 PASS foo({g:new Thingy()}) is 42
    200 PASS foo({g:new Thingy()}) is 42
    201 PASS foo({g:new Thingy()}) is 42
    202 PASS foo({g:new Thingy()}) is 42
    203 PASS foo({g:new Thingy()}) is 42
    204 PASS foo({g:new Thingy()}) is 42
    205 PASS foo({g:new Thingy()}) is 42
    206 PASS foo({g:new Thingy()}) is 42
    207 PASS foo({g:new Thingy()}) is 42
    208 PASS foo({g:new Thingy()}) is 42
    209 PASS foo({g:new Thingy()}) is 42
    210 PASS foo({g:new Thingy()}) is 42
    211 PASS foo({g:new Thingy()}) is 42
    212 PASS foo({g:new Thingy()}) is 42
    213 PASS foo({g:new Thingy()}) is 42
    214 PASS foo({g:new Thingy()}) is 42
    215 PASS foo({g:new Thingy()}) is 42
    216 PASS foo({g:new Thingy()}) is 42
    217 PASS foo({g:new Thingy()}) is 42
    218 PASS foo({g:new Thingy()}) is 42
    219 PASS foo({g:new Thingy()}) is 42
    220 PASS foo({g:new Thingy()}) is 42
    221 PASS foo({g:new Thingy()}) is 42
    222 PASS foo({g:new Thingy()}) is 42
    223 PASS foo({g:new Thingy()}) is 42
    224 PASS foo({g:new Thingy()}) is 42
    225 PASS foo({g:new Thingy()}) is 42
    226 PASS foo({g:new Thingy()}) is 42
    227 PASS foo({g:new Thingy()}) is 42
    228 PASS foo({g:new Thingy()}) is 42
    229 PASS successfullyParsed is true
    230 
    231 TEST COMPLETE
    232 
    233