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