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