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 constant folding an access to an uncaptured variable that is captured later in the same basic block doesn't lead to assertion failures. 25 26 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 27 28 29 PASS foo(true, 5)[0] is 462 30 PASS foo(true, 5)[0] is 462 31 PASS foo(true, 5)[0] is 462 32 PASS foo(true, 5)[0] is 462 33 PASS foo(true, 5)[0] is 462 34 PASS foo(true, 5)[0] is 462 35 PASS foo(true, 5)[0] is 462 36 PASS foo(true, 5)[0] is 462 37 PASS foo(true, 5)[0] is 462 38 PASS foo(true, 5)[0] is 462 39 PASS foo(true, 5)[0] is 462 40 PASS foo(true, 5)[0] is 462 41 PASS foo(true, 5)[0] is 462 42 PASS foo(true, 5)[0] is 462 43 PASS foo(true, 5)[0] is 462 44 PASS foo(true, 5)[0] is 462 45 PASS foo(true, 5)[0] is 462 46 PASS foo(true, 5)[0] is 462 47 PASS foo(true, 5)[0] is 462 48 PASS foo(true, 5)[0] is 462 49 PASS foo(true, 5)[0] is 462 50 PASS foo(true, 5)[0] is 462 51 PASS foo(true, 5)[0] is 462 52 PASS foo(true, 5)[0] is 462 53 PASS foo(true, 5)[0] is 462 54 PASS foo(true, 5)[0] is 462 55 PASS foo(true, 5)[0] is 462 56 PASS foo(true, 5)[0] is 462 57 PASS foo(true, 5)[0] is 462 58 PASS foo(true, 5)[0] is 462 59 PASS foo(true, 5)[0] is 462 60 PASS foo(true, 5)[0] is 462 61 PASS foo(true, 5)[0] is 462 62 PASS foo(true, 5)[0] is 462 63 PASS foo(true, 5)[0] is 462 64 PASS foo(true, 5)[0] is 462 65 PASS foo(true, 5)[0] is 462 66 PASS foo(true, 5)[0] is 462 67 PASS foo(true, 5)[0] is 462 68 PASS foo(true, 5)[0] is 462 69 PASS foo(true, 5)[0] is 462 70 PASS foo(true, 5)[0] is 462 71 PASS foo(true, 5)[0] is 462 72 PASS foo(true, 5)[0] is 462 73 PASS foo(true, 5)[0] is 462 74 PASS foo(true, 5)[0] is 462 75 PASS foo(true, 5)[0] is 462 76 PASS foo(true, 5)[0] is 462 77 PASS foo(true, 5)[0] is 462 78 PASS foo(true, 5)[0] is 462 79 PASS foo(true, 5)[0] is 462 80 PASS foo(true, 5)[0] is 462 81 PASS foo(true, 5)[0] is 462 82 PASS foo(true, 5)[0] is 462 83 PASS foo(true, 5)[0] is 462 84 PASS foo(true, 5)[0] is 462 85 PASS foo(true, 5)[0] is 462 86 PASS foo(true, 5)[0] is 462 87 PASS foo(true, 5)[0] is 462 88 PASS foo(true, 5)[0] is 462 89 PASS foo(true, 5)[0] is 462 90 PASS foo(true, 5)[0] is 462 91 PASS foo(true, 5)[0] is 462 92 PASS foo(true, 5)[0] is 462 93 PASS foo(true, 5)[0] is 462 94 PASS foo(true, 5)[0] is 462 95 PASS foo(true, 5)[0] is 462 96 PASS foo(true, 5)[0] is 462 97 PASS foo(true, 5)[0] is 462 98 PASS foo(true, 5)[0] is 462 99 PASS foo(true, 5)[0] is 462 100 PASS foo(true, 5)[0] is 462 101 PASS foo(true, 5)[0] is 462 102 PASS foo(true, 5)[0] is 462 103 PASS foo(true, 5)[0] is 462 104 PASS foo(true, 5)[0] is 462 105 PASS foo(true, 5)[0] is 462 106 PASS foo(true, 5)[0] is 462 107 PASS foo(true, 5)[0] is 462 108 PASS foo(true, 5)[0] is 462 109 PASS foo(true, 5)[0] is 462 110 PASS foo(true, 5)[0] is 462 111 PASS foo(true, 5)[0] is 462 112 PASS foo(true, 5)[0] is 462 113 PASS foo(true, 5)[0] is 462 114 PASS foo(true, 5)[0] is 462 115 PASS foo(true, 5)[0] is 462 116 PASS foo(true, 5)[0] is 462 117 PASS foo(true, 5)[0] is 462 118 PASS foo(true, 5)[0] is 462 119 PASS foo(true, 5)[0] is 462 120 PASS foo(true, 5)[0] is 462 121 PASS foo(true, 5)[0] is 462 122 PASS foo(true, 5)[0] is 462 123 PASS foo(true, 5)[0] is 462 124 PASS foo(true, 5)[0] is 462 125 PASS foo(true, 5)[0] is 462 126 PASS foo(true, 5)[0] is 462 127 PASS foo(true, 5)[0] is 462 128 PASS foo(true, 5)[0] is 462 129 PASS successfullyParsed is true 130 131 TEST COMPLETE 132 133