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 24Tests what happens when we OSR exit on an inlined prototype access due to a change in the prototype chain. 25 26On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 27 28 29PASS foo({g:new Thingy()}) is 42 30PASS foo({g:new Thingy()}) is 42 31PASS foo({g:new Thingy()}) is 42 32PASS foo({g:new Thingy()}) is 42 33PASS foo({g:new Thingy()}) is 42 34PASS foo({g:new Thingy()}) is 42 35PASS foo({g:new Thingy()}) is 42 36PASS foo({g:new Thingy()}) is 42 37PASS foo({g:new Thingy()}) is 42 38PASS foo({g:new Thingy()}) is 42 39PASS foo({g:new Thingy()}) is 42 40PASS foo({g:new Thingy()}) is 42 41PASS foo({g:new Thingy()}) is 42 42PASS foo({g:new Thingy()}) is 42 43PASS foo({g:new Thingy()}) is 42 44PASS foo({g:new Thingy()}) is 42 45PASS foo({g:new Thingy()}) is 42 46PASS foo({g:new Thingy()}) is 42 47PASS foo({g:new Thingy()}) is 42 48PASS foo({g:new Thingy()}) is 42 49PASS foo({g:new Thingy()}) is 42 50PASS foo({g:new Thingy()}) is 42 51PASS foo({g:new Thingy()}) is 42 52PASS foo({g:new Thingy()}) is 42 53PASS foo({g:new Thingy()}) is 42 54PASS foo({g:new Thingy()}) is 42 55PASS foo({g:new Thingy()}) is 42 56PASS foo({g:new Thingy()}) is 42 57PASS foo({g:new Thingy()}) is 42 58PASS foo({g:new Thingy()}) is 42 59PASS foo({g:new Thingy()}) is 42 60PASS foo({g:new Thingy()}) is 42 61PASS foo({g:new Thingy()}) is 42 62PASS foo({g:new Thingy()}) is 42 63PASS foo({g:new Thingy()}) is 42 64PASS foo({g:new Thingy()}) is 42 65PASS foo({g:new Thingy()}) is 42 66PASS foo({g:new Thingy()}) is 42 67PASS foo({g:new Thingy()}) is 42 68PASS foo({g:new Thingy()}) is 42 69PASS foo({g:new Thingy()}) is 42 70PASS foo({g:new Thingy()}) is 42 71PASS foo({g:new Thingy()}) is 42 72PASS foo({g:new Thingy()}) is 42 73PASS foo({g:new Thingy()}) is 42 74PASS foo({g:new Thingy()}) is 42 75PASS foo({g:new Thingy()}) is 42 76PASS foo({g:new Thingy()}) is 42 77PASS foo({g:new Thingy()}) is 42 78PASS foo({g:new Thingy()}) is 42 79PASS foo({g:new Thingy()}) is 42 80PASS foo({g:new Thingy()}) is 42 81PASS foo({g:new Thingy()}) is 42 82PASS foo({g:new Thingy()}) is 42 83PASS foo({g:new Thingy()}) is 42 84PASS foo({g:new Thingy()}) is 42 85PASS foo({g:new Thingy()}) is 42 86PASS foo({g:new Thingy()}) is 42 87PASS foo({g:new Thingy()}) is 42 88PASS foo({g:new Thingy()}) is 42 89PASS foo({g:new Thingy()}) is 42 90PASS foo({g:new Thingy()}) is 42 91PASS foo({g:new Thingy()}) is 42 92PASS foo({g:new Thingy()}) is 42 93PASS foo({g:new Thingy()}) is 42 94PASS foo({g:new Thingy()}) is 42 95PASS foo({g:new Thingy()}) is 42 96PASS foo({g:new Thingy()}) is 42 97PASS foo({g:new Thingy()}) is 42 98PASS foo({g:new Thingy()}) is 42 99PASS foo({g:new Thingy()}) is 42 100PASS foo({g:new Thingy()}) is 42 101PASS foo({g:new Thingy()}) is 42 102PASS foo({g:new Thingy()}) is 42 103PASS foo({g:new Thingy()}) is 42 104PASS foo({g:new Thingy()}) is 42 105PASS foo({g:new Thingy()}) is 42 106PASS foo({g:new Thingy()}) is 42 107PASS foo({g:new Thingy()}) is 42 108PASS foo({g:new Thingy()}) is 42 109PASS foo({g:new Thingy()}) is 42 110PASS foo({g:new Thingy()}) is 42 111PASS foo({g:new Thingy()}) is 42 112PASS foo({g:new Thingy()}) is 42 113PASS foo({g:new Thingy()}) is 42 114PASS foo({g:new Thingy()}) is 42 115PASS foo({g:new Thingy()}) is 42 116PASS foo({g:new Thingy()}) is 42 117PASS foo({g:new Thingy()}) is 42 118PASS foo({g:new Thingy()}) is 42 119PASS foo({g:new Thingy()}) is 42 120PASS foo({g:new Thingy()}) is 42 121PASS foo({g:new Thingy()}) is 42 122PASS foo({g:new Thingy()}) is 42 123PASS foo({g:new Thingy()}) is 42 124PASS foo({g:new Thingy()}) is 42 125PASS foo({g:new Thingy()}) is 42 126PASS foo({g:new Thingy()}) is 42 127PASS foo({g:new Thingy()}) is 42 128PASS foo({g:new Thingy()}) is 42 129PASS foo({g:new Thingy()}) is 42 130PASS foo({g:new Thingy()}) is 42 131PASS foo({g:new Thingy()}) is 42 132PASS foo({g:new Thingy()}) is 42 133PASS foo({g:new Thingy()}) is 42 134PASS foo({g:new Thingy()}) is 42 135PASS foo({g:new Thingy()}) is 42 136PASS foo({g:new Thingy()}) is 42 137PASS foo({g:new Thingy()}) is 42 138PASS foo({g:new Thingy()}) is 42 139PASS foo({g:new Thingy()}) is 42 140PASS foo({g:new Thingy()}) is 42 141PASS foo({g:new Thingy()}) is 42 142PASS foo({g:new Thingy()}) is 42 143PASS foo({g:new Thingy()}) is 42 144PASS foo({g:new Thingy()}) is 42 145PASS foo({g:new Thingy()}) is 42 146PASS foo({g:new Thingy()}) is 42 147PASS foo({g:new Thingy()}) is 42 148PASS foo({g:new Thingy()}) is 42 149PASS foo({g:new Thingy()}) is 42 150PASS foo({g:new Thingy()}) is 42 151PASS foo({g:new Thingy()}) is 42 152PASS foo({g:new Thingy()}) is 42 153PASS foo({g:new Thingy()}) is 42 154PASS foo({g:new Thingy()}) is 42 155PASS foo({g:new Thingy()}) is 42 156PASS foo({g:new Thingy()}) is 42 157PASS foo({g:new Thingy()}) is 42 158PASS foo({g:new Thingy()}) is 42 159PASS foo({g:new Thingy()}) is 42 160PASS foo({g:new Thingy()}) is 42 161PASS foo({g:new Thingy()}) is 42 162PASS foo({g:new Thingy()}) is 42 163PASS foo({g:new Thingy()}) is 42 164PASS foo({g:new Thingy()}) is 42 165PASS foo({g:new Thingy()}) is 42 166PASS foo({g:new Thingy()}) is 42 167PASS foo({g:new Thingy()}) is 42 168PASS foo({g:new Thingy()}) is 42 169PASS foo({g:new Thingy()}) is 42 170PASS foo({g:new Thingy()}) is 42 171PASS foo({g:new Thingy()}) is 42 172PASS foo({g:new Thingy()}) is 42 173PASS foo({g:new Thingy()}) is 42 174PASS foo({g:new Thingy()}) is 42 175PASS foo({g:new Thingy()}) is 42 176PASS foo({g:new Thingy()}) is 42 177PASS foo({g:new Thingy()}) is 42 178PASS foo({g:new Thingy()}) is 42 179PASS foo({g:new Thingy()}) is 42 180PASS foo({g:new Thingy()}) is 42 181PASS foo({g:new Thingy()}) is 42 182PASS foo({g:new Thingy()}) is 42 183PASS foo({g:new Thingy()}) is 42 184PASS foo({g:new Thingy()}) is 42 185PASS foo({g:new Thingy()}) is 42 186PASS foo({g:new Thingy()}) is 42 187PASS foo({g:new Thingy()}) is 42 188PASS foo({g:new Thingy()}) is 42 189PASS foo({g:new Thingy()}) is 42 190PASS foo({g:new Thingy()}) is 42 191PASS foo({g:new Thingy()}) is 42 192PASS foo({g:new Thingy()}) is 42 193PASS foo({g:new Thingy()}) is 42 194PASS foo({g:new Thingy()}) is 42 195PASS foo({g:new Thingy()}) is 42 196PASS foo({g:new Thingy()}) is 42 197PASS foo({g:new Thingy()}) is 42 198PASS foo({g:new Thingy()}) is 42 199PASS foo({g:new Thingy()}) is 42 200PASS foo({g:new Thingy()}) is 42 201PASS foo({g:new Thingy()}) is 42 202PASS foo({g:new Thingy()}) is 42 203PASS foo({g:new Thingy()}) is 42 204PASS foo({g:new Thingy()}) is 42 205PASS foo({g:new Thingy()}) is 42 206PASS foo({g:new Thingy()}) is 42 207PASS foo({g:new Thingy()}) is 42 208PASS foo({g:new Thingy()}) is 42 209PASS foo({g:new Thingy()}) is 42 210PASS foo({g:new Thingy()}) is 42 211PASS foo({g:new Thingy()}) is 42 212PASS foo({g:new Thingy()}) is 42 213PASS foo({g:new Thingy()}) is 42 214PASS foo({g:new Thingy()}) is 42 215PASS foo({g:new Thingy()}) is 42 216PASS foo({g:new Thingy()}) is 42 217PASS foo({g:new Thingy()}) is 42 218PASS foo({g:new Thingy()}) is 42 219PASS foo({g:new Thingy()}) is 42 220PASS foo({g:new Thingy()}) is 42 221PASS foo({g:new Thingy()}) is 42 222PASS foo({g:new Thingy()}) is 42 223PASS foo({g:new Thingy()}) is 42 224PASS foo({g:new Thingy()}) is 42 225PASS foo({g:new Thingy()}) is 42 226PASS foo({g:new Thingy()}) is 42 227PASS foo({g:new Thingy()}) is 42 228PASS foo({g:new Thingy()}) is 42 229PASS successfullyParsed is true 230 231TEST COMPLETE 232 233