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