# 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 that our attempts to do peephole Branch(LogicalNot) optimization doesn't break OSR exit's ability to recover the value of LogicalNot.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 6
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 7
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 8
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 9
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 10
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 9
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 12
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 13
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 14
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 15
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 16
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 17
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 18
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 19
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 20
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 21
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 22
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 23
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 24
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 25
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 26
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 27
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 28
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 29
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 30
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 31
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 32
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 33
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 34
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 35
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 36
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 37
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 38
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 39
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 40
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 41
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 42
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 43
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 44
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 45
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 46
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 47
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 48
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 49
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 50
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 51
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 52
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 53
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 54
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 55
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 56
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 57
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 58
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 59
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 60
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 61
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 62
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 63
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 64
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 65
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 66
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 67
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 68
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 69
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 70
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 71
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 72
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 73
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 74
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 75
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 76
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 77
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 78
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 79
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 80
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 81
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 82
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 83
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 84
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 85
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 86
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 87
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 88
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 89
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 90
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 91
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 92
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 93
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 94
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 95
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 96
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 97
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 98
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 99
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 100
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 101
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 102
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 103
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 104
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 105
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 106
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 107
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 108
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 109
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 110
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 111
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 112
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 113
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 114
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 115
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 116
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 117
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 118
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 119
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 120
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 121
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 122
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 123
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 124
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 125
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 126
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 127
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 128
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 129
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 130
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 131
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 132
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 133
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 134
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 135
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 136
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 137
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 138
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 139
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 140
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 141
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 142
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 143
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 144
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 145
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 146
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 147
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 148
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 149
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 150
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 151
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 152
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 153
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 154
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 155
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 156
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 157
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 158
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 159
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 160
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 161
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 162
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 163
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 164
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 165
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 166
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 167
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 168
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 169
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 170
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 171
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 172
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 173
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 174
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 175
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 176
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 177
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 178
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 179
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 180
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 181
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 182
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 183
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 184
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 185
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 186
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 187
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 188
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 189
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 190
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 191
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 192
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 193
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 194
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 195
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 196
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 197
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 198
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 199
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 200
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 201
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 202
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 203
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 204
PASS foo(i, 5, i == 199 ? 2147483647 : 5) is 2147483847
PASS successfullyParsed is true

TEST COMPLETE