Index: test/webkit/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-expected.txt |
diff --git a/test/webkit/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-expected.txt b/test/webkit/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-expected.txt |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4dfc7f65b2d0cfe0c74970645d23b61eee4d2429 |
--- /dev/null |
+++ b/test/webkit/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-expected.txt |
@@ -0,0 +1,532 @@ |
+# Copyright 2013 the V8 project authors. All rights reserved. |
+# Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
+# |
+# Redistribution and use in source and binary forms, with or without |
+# modification, are permitted provided that the following conditions |
+# are met: |
+# 1. Redistributions of source code must retain the above copyright |
+# notice, this list of conditions and the following disclaimer. |
+# 2. Redistributions in binary form must reproduce the above copyright |
+# notice, this list of conditions and the following disclaimer in the |
+# documentation and/or other materials provided with the distribution. |
+# |
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY |
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
+# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON |
+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+ |
+Tests what happens when CFG simplification leads to the elimination of a set local that had a type check, and then we branch on the variable not being null. |
+ |
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
+ |
+ |
+PASS foo(o) is -1 |
+PASS foo(o) is 0 |
+PASS foo(o) is 1 |
+PASS foo(o) is 2 |
+PASS foo(o) is 3 |
+PASS foo(o) is 4 |
+PASS foo(o) is 5 |
+PASS foo(o) is 6 |
+PASS foo(o) is 7 |
+PASS foo(o) is 8 |
+PASS foo(o) is 9 |
+PASS foo(o) is 10 |
+PASS foo(o) is 11 |
+PASS foo(o) is 12 |
+PASS foo(o) is 13 |
+PASS foo(o) is 14 |
+PASS foo(o) is 15 |
+PASS foo(o) is 16 |
+PASS foo(o) is 17 |
+PASS foo(o) is 18 |
+PASS foo(o) is 19 |
+PASS foo(o) is 20 |
+PASS foo(o) is 21 |
+PASS foo(o) is 22 |
+PASS foo(o) is 23 |
+PASS foo(o) is 24 |
+PASS foo(o) is 25 |
+PASS foo(o) is 26 |
+PASS foo(o) is 27 |
+PASS foo(o) is 28 |
+PASS foo(o) is 29 |
+PASS foo(o) is 30 |
+PASS foo(o) is 31 |
+PASS foo(o) is 32 |
+PASS foo(o) is 33 |
+PASS foo(o) is 34 |
+PASS foo(o) is 35 |
+PASS foo(o) is 36 |
+PASS foo(o) is 37 |
+PASS foo(o) is 38 |
+PASS foo(o) is 39 |
+PASS foo(o) is 40 |
+PASS foo(o) is 41 |
+PASS foo(o) is 42 |
+PASS foo(o) is 43 |
+PASS foo(o) is 44 |
+PASS foo(o) is 45 |
+PASS foo(o) is 46 |
+PASS foo(o) is 47 |
+PASS foo(o) is 48 |
+PASS foo(o) is 49 |
+PASS foo(o) is 50 |
+PASS foo(o) is 51 |
+PASS foo(o) is 52 |
+PASS foo(o) is 53 |
+PASS foo(o) is 54 |
+PASS foo(o) is 55 |
+PASS foo(o) is 56 |
+PASS foo(o) is 57 |
+PASS foo(o) is 58 |
+PASS foo(o) is 59 |
+PASS foo(o) is 60 |
+PASS foo(o) is 61 |
+PASS foo(o) is 62 |
+PASS foo(o) is 63 |
+PASS foo(o) is 64 |
+PASS foo(o) is 65 |
+PASS foo(o) is 66 |
+PASS foo(o) is 67 |
+PASS foo(o) is 68 |
+PASS foo(o) is 69 |
+PASS foo(o) is 70 |
+PASS foo(o) is 71 |
+PASS foo(o) is 72 |
+PASS foo(o) is 73 |
+PASS foo(o) is 74 |
+PASS foo(o) is 75 |
+PASS foo(o) is 76 |
+PASS foo(o) is 77 |
+PASS foo(o) is 78 |
+PASS foo(o) is 79 |
+PASS foo(o) is 80 |
+PASS foo(o) is 81 |
+PASS foo(o) is 82 |
+PASS foo(o) is 83 |
+PASS foo(o) is 84 |
+PASS foo(o) is 85 |
+PASS foo(o) is 86 |
+PASS foo(o) is 87 |
+PASS foo(o) is 88 |
+PASS foo(o) is 89 |
+PASS foo(o) is 90 |
+PASS foo(o) is 91 |
+PASS foo(o) is 92 |
+PASS foo(o) is 93 |
+PASS foo(o) is 94 |
+PASS foo(o) is 95 |
+PASS foo(o) is 96 |
+PASS foo(o) is 97 |
+PASS foo(o) is 98 |
+PASS foo(o) is 99 |
+PASS foo(o) is 100 |
+PASS foo(o) is 101 |
+PASS foo(o) is 102 |
+PASS foo(o) is 103 |
+PASS foo(o) is 104 |
+PASS foo(o) is 105 |
+PASS foo(o) is 106 |
+PASS foo(o) is 107 |
+PASS foo(o) is 108 |
+PASS foo(o) is 109 |
+PASS foo(o) is 110 |
+PASS foo(o) is 111 |
+PASS foo(o) is 112 |
+PASS foo(o) is 113 |
+PASS foo(o) is 114 |
+PASS foo(o) is 115 |
+PASS foo(o) is 116 |
+PASS foo(o) is 117 |
+PASS foo(o) is 118 |
+PASS foo(o) is 119 |
+PASS foo(o) is 120 |
+PASS foo(o) is 121 |
+PASS foo(o) is 122 |
+PASS foo(o) is 123 |
+PASS foo(o) is 124 |
+PASS foo(o) is 125 |
+PASS foo(o) is 126 |
+PASS foo(o) is 127 |
+PASS foo(o) is 128 |
+PASS foo(o) is 129 |
+PASS foo(o) is 130 |
+PASS foo(o) is 131 |
+PASS foo(o) is 132 |
+PASS foo(o) is 133 |
+PASS foo(o) is 134 |
+PASS foo(o) is 135 |
+PASS foo(o) is 136 |
+PASS foo(o) is 137 |
+PASS foo(o) is 138 |
+PASS foo(o) is 139 |
+PASS foo(o) is 140 |
+PASS foo(o) is 141 |
+PASS foo(o) is 142 |
+PASS foo(o) is 143 |
+PASS foo(o) is 144 |
+PASS foo(o) is 145 |
+PASS foo(o) is 146 |
+PASS foo(o) is 147 |
+PASS foo(o) is 148 |
+PASS foo(o) is 149 |
+PASS foo(o) is 150 |
+PASS foo(o) is 151 |
+PASS foo(o) is 152 |
+PASS foo(o) is 153 |
+PASS foo(o) is 154 |
+PASS foo(o) is 155 |
+PASS foo(o) is 156 |
+PASS foo(o) is 157 |
+PASS foo(o) is 158 |
+PASS foo(o) is 159 |
+PASS foo(o) is 160 |
+PASS foo(o) is 161 |
+PASS foo(o) is 162 |
+PASS foo(o) is 163 |
+PASS foo(o) is 164 |
+PASS foo(o) is 165 |
+PASS foo(o) is 166 |
+PASS foo(o) is 167 |
+PASS foo(o) is 168 |
+PASS foo(o) is 169 |
+PASS foo(o) is 170 |
+PASS foo(o) is 171 |
+PASS foo(o) is 172 |
+PASS foo(o) is 173 |
+PASS foo(o) is 174 |
+PASS foo(o) is 175 |
+PASS foo(o) is 176 |
+PASS foo(o) is 177 |
+PASS foo(o) is 178 |
+PASS foo(o) is 179 |
+PASS foo(o) is 180 |
+PASS foo(o) is 181 |
+PASS foo(o) is 182 |
+PASS foo(o) is 183 |
+PASS foo(o) is 184 |
+PASS foo(o) is 185 |
+PASS foo(o) is 186 |
+PASS foo(o) is 187 |
+PASS foo(o) is 188 |
+PASS foo(o) is 189 |
+PASS foo(o) is 190 |
+PASS foo(o) is 191 |
+PASS foo(o) is 192 |
+PASS foo(o) is 193 |
+PASS foo(o) is 194 |
+PASS foo(o) is 195 |
+PASS foo(o) is 196 |
+PASS foo(o) is 197 |
+PASS foo(o) is 198 |
+PASS foo(o) is 199 |
+PASS foo(o) is 200 |
+PASS foo(o) is 201 |
+PASS foo(o) is 202 |
+PASS foo(o) is 203 |
+PASS foo(o) is 204 |
+PASS foo(o) is 205 |
+PASS foo(o) is 206 |
+PASS foo(o) is 207 |
+PASS foo(o) is 208 |
+PASS foo(o) is 209 |
+PASS foo(o) is 210 |
+PASS foo(o) is 211 |
+PASS foo(o) is 212 |
+PASS foo(o) is 213 |
+PASS foo(o) is 214 |
+PASS foo(o) is 215 |
+PASS foo(o) is 216 |
+PASS foo(o) is 217 |
+PASS foo(o) is 218 |
+PASS foo(o) is 219 |
+PASS foo(o) is 220 |
+PASS foo(o) is 221 |
+PASS foo(o) is 222 |
+PASS foo(o) is 223 |
+PASS foo(o) is 224 |
+PASS foo(o) is 225 |
+PASS foo(o) is 226 |
+PASS foo(o) is 227 |
+PASS foo(o) is 228 |
+PASS foo(o) is 229 |
+PASS foo(o) is 230 |
+PASS foo(o) is 231 |
+PASS foo(o) is 232 |
+PASS foo(o) is 233 |
+PASS foo(o) is 234 |
+PASS foo(o) is 235 |
+PASS foo(o) is 236 |
+PASS foo(o) is 237 |
+PASS foo(o) is 238 |
+PASS foo(o) is 239 |
+PASS foo(o) is 240 |
+PASS foo(o) is 241 |
+PASS foo(o) is 242 |
+PASS foo(o) is 243 |
+PASS foo(o) is 244 |
+PASS foo(o) is 245 |
+PASS foo(o) is 246 |
+PASS foo(o) is 247 |
+PASS foo(o) is 248 |
+PASS foo(o) is 249 |
+PASS foo(o) is 250 |
+PASS foo(o) is 251 |
+PASS foo(o) is 252 |
+PASS foo(o) is 253 |
+PASS foo(o) is 254 |
+PASS foo(o) is 255 |
+PASS foo(o) is 256 |
+PASS foo(o) is 257 |
+PASS foo(o) is 258 |
+PASS foo(o) is 259 |
+PASS foo(o) is 260 |
+PASS foo(o) is 261 |
+PASS foo(o) is 262 |
+PASS foo(o) is 263 |
+PASS foo(o) is 264 |
+PASS foo(o) is 265 |
+PASS foo(o) is 266 |
+PASS foo(o) is 267 |
+PASS foo(o) is 268 |
+PASS foo(o) is 269 |
+PASS foo(o) is 270 |
+PASS foo(o) is 271 |
+PASS foo(o) is 272 |
+PASS foo(o) is 273 |
+PASS foo(o) is 274 |
+PASS foo(o) is 275 |
+PASS foo(o) is 276 |
+PASS foo(o) is 277 |
+PASS foo(o) is 278 |
+PASS foo(o) is 279 |
+PASS foo(o) is 280 |
+PASS foo(o) is 281 |
+PASS foo(o) is 282 |
+PASS foo(o) is 283 |
+PASS foo(o) is 284 |
+PASS foo(o) is 285 |
+PASS foo(o) is 286 |
+PASS foo(o) is 287 |
+PASS foo(o) is 288 |
+PASS foo(o) is 289 |
+PASS foo(o) is 290 |
+PASS foo(o) is 291 |
+PASS foo(o) is 292 |
+PASS foo(o) is 293 |
+PASS foo(o) is 294 |
+PASS foo(o) is 295 |
+PASS foo(o) is 296 |
+PASS foo(o) is 297 |
+PASS foo(o) is 298 |
+PASS foo(o) is 299 |
+PASS foo(o) is 300 |
+PASS foo(o) is 301 |
+PASS foo(o) is 302 |
+PASS foo(o) is 303 |
+PASS foo(o) is 304 |
+PASS foo(o) is 305 |
+PASS foo(o) is 306 |
+PASS foo(o) is 307 |
+PASS foo(o) is 308 |
+PASS foo(o) is 309 |
+PASS foo(o) is 310 |
+PASS foo(o) is 311 |
+PASS foo(o) is 312 |
+PASS foo(o) is 313 |
+PASS foo(o) is 314 |
+PASS foo(o) is 315 |
+PASS foo(o) is 316 |
+PASS foo(o) is 317 |
+PASS foo(o) is 318 |
+PASS foo(o) is 319 |
+PASS foo(o) is 320 |
+PASS foo(o) is 321 |
+PASS foo(o) is 322 |
+PASS foo(o) is 323 |
+PASS foo(o) is 324 |
+PASS foo(o) is 325 |
+PASS foo(o) is 326 |
+PASS foo(o) is 327 |
+PASS foo(o) is 328 |
+PASS foo(o) is 329 |
+PASS foo(o) is 330 |
+PASS foo(o) is 331 |
+PASS foo(o) is 332 |
+PASS foo(o) is 333 |
+PASS foo(o) is 334 |
+PASS foo(o) is 335 |
+PASS foo(o) is 336 |
+PASS foo(o) is 337 |
+PASS foo(o) is 338 |
+PASS foo(o) is 339 |
+PASS foo(o) is 340 |
+PASS foo(o) is 341 |
+PASS foo(o) is 342 |
+PASS foo(o) is 343 |
+PASS foo(o) is 344 |
+PASS foo(o) is 345 |
+PASS foo(o) is 346 |
+PASS foo(o) is 347 |
+PASS foo(o) is 348 |
+PASS foo(o) is 349 |
+PASS foo(o) is 350 |
+PASS foo(o) is 351 |
+PASS foo(o) is 352 |
+PASS foo(o) is 353 |
+PASS foo(o) is 354 |
+PASS foo(o) is 355 |
+PASS foo(o) is 356 |
+PASS foo(o) is 357 |
+PASS foo(o) is 358 |
+PASS foo(o) is 359 |
+PASS foo(o) is 360 |
+PASS foo(o) is 361 |
+PASS foo(o) is 362 |
+PASS foo(o) is 363 |
+PASS foo(o) is 364 |
+PASS foo(o) is 365 |
+PASS foo(o) is 366 |
+PASS foo(o) is 367 |
+PASS foo(o) is 368 |
+PASS foo(o) is 369 |
+PASS foo(o) is 370 |
+PASS foo(o) is 371 |
+PASS foo(o) is 372 |
+PASS foo(o) is 373 |
+PASS foo(o) is 374 |
+PASS foo(o) is 375 |
+PASS foo(o) is 376 |
+PASS foo(o) is 377 |
+PASS foo(o) is 378 |
+PASS foo(o) is 379 |
+PASS foo(o) is 380 |
+PASS foo(o) is 381 |
+PASS foo(o) is 382 |
+PASS foo(o) is 383 |
+PASS foo(o) is 384 |
+PASS foo(o) is 385 |
+PASS foo(o) is 386 |
+PASS foo(o) is 387 |
+PASS foo(o) is 388 |
+PASS foo(o) is 389 |
+PASS foo(o) is 390 |
+PASS foo(o) is 391 |
+PASS foo(o) is 392 |
+PASS foo(o) is 393 |
+PASS foo(o) is 394 |
+PASS foo(o) is 395 |
+PASS foo(o) is 396 |
+PASS foo(o) is 397 |
+PASS foo(o) is 398 |
+PASS foo(o) is 399 |
+PASS foo(o) is 400 |
+PASS foo(o) is 401 |
+PASS foo(o) is 402 |
+PASS foo(o) is 403 |
+PASS foo(o) is 404 |
+PASS foo(o) is 405 |
+PASS foo(o) is 406 |
+PASS foo(o) is 407 |
+PASS foo(o) is 408 |
+PASS foo(o) is 409 |
+PASS foo(o) is 410 |
+PASS foo(o) is 411 |
+PASS foo(o) is 412 |
+PASS foo(o) is 413 |
+PASS foo(o) is 414 |
+PASS foo(o) is 415 |
+PASS foo(o) is 416 |
+PASS foo(o) is 417 |
+PASS foo(o) is 418 |
+PASS foo(o) is 419 |
+PASS foo(o) is 420 |
+PASS foo(o) is 421 |
+PASS foo(o) is 422 |
+PASS foo(o) is 423 |
+PASS foo(o) is 424 |
+PASS foo(o) is 425 |
+PASS foo(o) is 426 |
+PASS foo(o) is 427 |
+PASS foo(o) is 428 |
+PASS foo(o) is 429 |
+PASS foo(o) is 430 |
+PASS foo(o) is 431 |
+PASS foo(o) is 432 |
+PASS foo(o) is 433 |
+PASS foo(o) is 434 |
+PASS foo(o) is 435 |
+PASS foo(o) is 436 |
+PASS foo(o) is 437 |
+PASS foo(o) is 438 |
+PASS foo(o) is 439 |
+PASS foo(o) is 440 |
+PASS foo(o) is 441 |
+PASS foo(o) is 442 |
+PASS foo(o) is 443 |
+PASS foo(o) is 444 |
+PASS foo(o) is 445 |
+PASS foo(o) is 446 |
+PASS foo(o) is 447 |
+PASS foo(o) is 448 |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS foo(o) is null |
+PASS successfullyParsed is true |
+ |
+TEST COMPLETE |
+ |