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 that when values predicted but not proven int are used in a tower of additions, we don't eliminate the overflow check unsoundly. 25 26 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 27 28 29 PASS bar(1, 2, {f:3}) is 6 30 PASS bar(1, 2, {f:3}) is 6 31 PASS bar(1, 2, {f:3}) is 6 32 PASS bar(1, 2, {f:3}) is 6 33 PASS bar(1, 2, {f:3}) is 6 34 PASS bar(1, 2, {f:3}) is 6 35 PASS bar(1, 2, {f:3}) is 6 36 PASS bar(1, 2, {f:3}) is 6 37 PASS bar(1, 2, {f:3}) is 6 38 PASS bar(1, 2, {f:3}) is 6 39 PASS bar(1, 2, {f:3}) is 6 40 PASS bar(1, 2, {f:3}) is 6 41 PASS bar(1, 2, {f:3}) is 6 42 PASS bar(1, 2, {f:3}) is 6 43 PASS bar(1, 2, {f:3}) is 6 44 PASS bar(1, 2, {f:3}) is 6 45 PASS bar(1, 2, {f:3}) is 6 46 PASS bar(1, 2, {f:3}) is 6 47 PASS bar(1, 2, {f:3}) is 6 48 PASS bar(1, 2, {f:3}) is 6 49 PASS bar(1, 2, {f:3}) is 6 50 PASS bar(1, 2, {f:3}) is 6 51 PASS bar(1, 2, {f:3}) is 6 52 PASS bar(1, 2, {f:3}) is 6 53 PASS bar(1, 2, {f:3}) is 6 54 PASS bar(1, 2, {f:3}) is 6 55 PASS bar(1, 2, {f:3}) is 6 56 PASS bar(1, 2, {f:3}) is 6 57 PASS bar(1, 2, {f:3}) is 6 58 PASS bar(1, 2, {f:3}) is 6 59 PASS bar(1, 2, {f:3}) is 6 60 PASS bar(1, 2, {f:3}) is 6 61 PASS bar(1, 2, {f:3}) is 6 62 PASS bar(1, 2, {f:3}) is 6 63 PASS bar(1, 2, {f:3}) is 6 64 PASS bar(1, 2, {f:3}) is 6 65 PASS bar(1, 2, {f:3}) is 6 66 PASS bar(1, 2, {f:3}) is 6 67 PASS bar(1, 2, {f:3}) is 6 68 PASS bar(1, 2, {f:3}) is 6 69 PASS bar(1, 2, {f:3}) is 6 70 PASS bar(1, 2, {f:3}) is 6 71 PASS bar(1, 2, {f:3}) is 6 72 PASS bar(1, 2, {f:3}) is 6 73 PASS bar(1, 2, {f:3}) is 6 74 PASS bar(1, 2, {f:3}) is 6 75 PASS bar(1, 2, {f:3}) is 6 76 PASS bar(1, 2, {f:3}) is 6 77 PASS bar(1, 2, {f:3}) is 6 78 PASS bar(1, 2, {f:3}) is 6 79 PASS bar(1, 2, {f:3}) is 6 80 PASS bar(1, 2, {f:3}) is 6 81 PASS bar(1, 2, {f:3}) is 6 82 PASS bar(1, 2, {f:3}) is 6 83 PASS bar(1, 2, {f:3}) is 6 84 PASS bar(1, 2, {f:3}) is 6 85 PASS bar(1, 2, {f:3}) is 6 86 PASS bar(1, 2, {f:3}) is 6 87 PASS bar(1, 2, {f:3}) is 6 88 PASS bar(1, 2, {f:3}) is 6 89 PASS bar(1, 2, {f:3}) is 6 90 PASS bar(1, 2, {f:3}) is 6 91 PASS bar(1, 2, {f:3}) is 6 92 PASS bar(1, 2, {f:3}) is 6 93 PASS bar(1, 2, {f:3}) is 6 94 PASS bar(1, 2, {f:3}) is 6 95 PASS bar(1, 2, {f:3}) is 6 96 PASS bar(1, 2, {f:3}) is 6 97 PASS bar(1, 2, {f:3}) is 6 98 PASS bar(1, 2, {f:3}) is 6 99 PASS bar(1, 2, {f:3}) is 6 100 PASS bar(1, 2, {f:3}) is 6 101 PASS bar(1, 2, {f:3}) is 6 102 PASS bar(1, 2, {f:3}) is 6 103 PASS bar(1, 2, {f:3}) is 6 104 PASS bar(1, 2, {f:3}) is 6 105 PASS bar(1, 2, {f:3}) is 6 106 PASS bar(1, 2, {f:3}) is 6 107 PASS bar(1, 2, {f:3}) is 6 108 PASS bar(1, 2, {f:3}) is 6 109 PASS bar(1, 2, {f:3}) is 6 110 PASS bar(1, 2, {f:3}) is 6 111 PASS bar(1, 2, {f:3}) is 6 112 PASS bar(1, 2, {f:3}) is 6 113 PASS bar(1, 2, {f:3}) is 6 114 PASS bar(1, 2, {f:3}) is 6 115 PASS bar(1, 2, {f:3}) is 6 116 PASS bar(1, 2, {f:3}) is 6 117 PASS bar(1, 2, {f:3}) is 6 118 PASS bar(1, 2, {f:3}) is 6 119 PASS bar(1, 2, {f:3}) is 6 120 PASS bar(1, 2, {f:3}) is 6 121 PASS bar(1, 2, {f:3}) is 6 122 PASS bar(1, 2, {f:3}) is 6 123 PASS bar(1, 2, {f:3}) is 6 124 PASS bar(1, 2, {f:3}) is 6 125 PASS bar(1, 2, {f:3}) is 6 126 PASS bar(1, 2, {f:3}) is 6 127 PASS bar(1, 2, {f:3}) is 6 128 PASS bar(1, 2, {f:3}) is 6 129 PASS bar(2147483645, 2147483644, {f:9007199254740990}) is -8 130 PASS bar(2147483643, 2147483643, {f:18014398509481980}) is -16 131 PASS bar(2147483643, 2147483642, {f:36028797018963960}) is -16 132 PASS bar(2147483642, 2147483642, {f:36028797018963960}) is -16 133 PASS bar(2147483641, 2147483640, {f:144115188075855840}) is -32 134 PASS bar(2147483640, 2147483640, {f:144115188075855840}) is -64 135 PASS bar(2147483640, 2147483639, {f:288230376151711680}) is -64 136 PASS bar(2147483639, 2147483639, {f:288230376151711680}) is -64 137 PASS successfullyParsed is true 138 139 TEST COMPLETE 140 141