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 24Tests what happens if you OSR exit within inlined code that has interesting control flow with arguments that are specially formatted and you capture the arguments reflectively after the OSR exit. 25 26On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 27 28 29PASS baz(arg1, arg2) is 43 30PASS baz(arg1, arg2) is 45 31PASS baz(arg1, arg2) is 47 32PASS baz(arg1, arg2) is 49 33PASS baz(arg1, arg2) is 51 34PASS baz(arg1, arg2) is 53 35PASS baz(arg1, arg2) is 55 36PASS baz(arg1, arg2) is 57 37PASS baz(arg1, arg2) is 59 38PASS baz(arg1, arg2) is 61 39PASS baz(arg1, arg2) is 63 40PASS baz(arg1, arg2) is 65 41PASS baz(arg1, arg2) is 67 42PASS baz(arg1, arg2) is 69 43PASS baz(arg1, arg2) is 71 44PASS baz(arg1, arg2) is 73 45PASS baz(arg1, arg2) is 75 46PASS baz(arg1, arg2) is 77 47PASS baz(arg1, arg2) is 79 48PASS baz(arg1, arg2) is 81 49PASS baz(arg1, arg2) is 83 50PASS baz(arg1, arg2) is 85 51PASS baz(arg1, arg2) is 87 52PASS baz(arg1, arg2) is 89 53PASS baz(arg1, arg2) is 91 54PASS baz(arg1, arg2) is 93 55PASS baz(arg1, arg2) is 95 56PASS baz(arg1, arg2) is 97 57PASS baz(arg1, arg2) is 99 58PASS baz(arg1, arg2) is 101 59PASS baz(arg1, arg2) is 103 60PASS baz(arg1, arg2) is 105 61PASS baz(arg1, arg2) is 107 62PASS baz(arg1, arg2) is 109 63PASS baz(arg1, arg2) is 111 64PASS baz(arg1, arg2) is 113 65PASS baz(arg1, arg2) is 115 66PASS baz(arg1, arg2) is 117 67PASS baz(arg1, arg2) is 119 68PASS baz(arg1, arg2) is 121 69PASS baz(arg1, arg2) is 123 70PASS baz(arg1, arg2) is 125 71PASS baz(arg1, arg2) is 127 72PASS baz(arg1, arg2) is 129 73PASS baz(arg1, arg2) is 131 74PASS baz(arg1, arg2) is 133 75PASS baz(arg1, arg2) is 135 76PASS baz(arg1, arg2) is 137 77PASS baz(arg1, arg2) is 139 78PASS baz(arg1, arg2) is 141 79PASS baz(arg1, arg2) is 143 80PASS baz(arg1, arg2) is 145 81PASS baz(arg1, arg2) is 147 82PASS baz(arg1, arg2) is 149 83PASS baz(arg1, arg2) is 151 84PASS baz(arg1, arg2) is 153 85PASS baz(arg1, arg2) is 155 86PASS baz(arg1, arg2) is 157 87PASS baz(arg1, arg2) is 159 88PASS baz(arg1, arg2) is 161 89PASS baz(arg1, arg2) is 163 90PASS baz(arg1, arg2) is 165 91PASS baz(arg1, arg2) is 167 92PASS baz(arg1, arg2) is 169 93PASS baz(arg1, arg2) is 171 94PASS baz(arg1, arg2) is 173 95PASS baz(arg1, arg2) is 175 96PASS baz(arg1, arg2) is 177 97PASS baz(arg1, arg2) is 179 98PASS baz(arg1, arg2) is 181 99PASS baz(arg1, arg2) is 183 100PASS baz(arg1, arg2) is 185 101PASS baz(arg1, arg2) is 187 102PASS baz(arg1, arg2) is 189 103PASS baz(arg1, arg2) is 191 104PASS baz(arg1, arg2) is 193 105PASS baz(arg1, arg2) is 195 106PASS baz(arg1, arg2) is 197 107PASS baz(arg1, arg2) is 199 108PASS baz(arg1, arg2) is 201 109PASS baz(arg1, arg2) is 203 110PASS baz(arg1, arg2) is 205 111PASS baz(arg1, arg2) is 207 112PASS baz(arg1, arg2) is 209 113PASS baz(arg1, arg2) is 211 114PASS baz(arg1, arg2) is 213 115PASS baz(arg1, arg2) is 215 116PASS baz(arg1, arg2) is 217 117PASS baz(arg1, arg2) is 219 118PASS baz(arg1, arg2) is 221 119PASS baz(arg1, arg2) is 223 120PASS baz(arg1, arg2) is 225 121PASS baz(arg1, arg2) is 227 122PASS baz(arg1, arg2) is 229 123PASS baz(arg1, arg2) is 231 124PASS baz(arg1, arg2) is 233 125PASS baz(arg1, arg2) is 235 126PASS baz(arg1, arg2) is 237 127PASS baz(arg1, arg2) is 239 128PASS baz(arg1, arg2) is 241 129PASS baz(arg1, arg2) is 243 130PASS baz(arg1, arg2) is 245 131PASS baz(arg1, arg2) is 247 132PASS baz(arg1, arg2) is 249 133PASS baz(arg1, arg2) is 251 134PASS baz(arg1, arg2) is 253 135PASS baz(arg1, arg2) is 255 136PASS baz(arg1, arg2) is 257 137PASS baz(arg1, arg2) is 259 138PASS baz(arg1, arg2) is 261 139PASS baz(arg1, arg2) is 263 140PASS baz(arg1, arg2) is 265 141PASS baz(arg1, arg2) is 267 142PASS baz(arg1, arg2) is 269 143PASS baz(arg1, arg2) is 271 144PASS baz(arg1, arg2) is 273 145PASS baz(arg1, arg2) is 275 146PASS baz(arg1, arg2) is 277 147PASS baz(arg1, arg2) is 279 148PASS baz(arg1, arg2) is 281 149PASS baz(arg1, arg2) is 283 150PASS baz(arg1, arg2) is 285 151PASS baz(arg1, arg2) is 287 152PASS baz(arg1, arg2) is 289 153PASS baz(arg1, arg2) is 291 154PASS baz(arg1, arg2) is 293 155PASS baz(arg1, arg2) is 295 156PASS baz(arg1, arg2) is 297 157PASS baz(arg1, arg2) is 299 158PASS baz(arg1, arg2) is 301 159PASS baz(arg1, arg2) is 303 160PASS baz(arg1, arg2) is 305 161PASS baz(arg1, arg2) is 307 162PASS baz(arg1, arg2) is 309 163PASS baz(arg1, arg2) is 311 164PASS baz(arg1, arg2) is 313 165PASS baz(arg1, arg2) is 315 166PASS baz(arg1, arg2) is 317 167PASS baz(arg1, arg2) is 319 168PASS baz(arg1, arg2) is 321 169PASS baz(arg1, arg2) is 323 170PASS baz(arg1, arg2) is 325 171PASS baz(arg1, arg2) is 327 172PASS baz(arg1, arg2) is 329 173PASS baz(arg1, arg2) is 331 174PASS baz(arg1, arg2) is 333 175PASS baz(arg1, arg2) is 335 176PASS baz(arg1, arg2) is 337 177PASS baz(arg1, arg2) is 339 178PASS baz(arg1, arg2) is 341 179PASS baz(arg1, arg2) is 343 180PASS baz(arg1, arg2) is 345 181PASS baz(arg1, arg2) is 347 182PASS baz(arg1, arg2) is 349 183PASS baz(arg1, arg2) is 351 184PASS baz(arg1, arg2) is 353 185PASS baz(arg1, arg2) is 355 186PASS baz(arg1, arg2) is 357 187PASS baz(arg1, arg2) is 359 188PASS baz(arg1, arg2) is 361 189PASS baz(arg1, arg2) is 363 190PASS baz(arg1, arg2) is 365 191PASS baz(arg1, arg2) is 367 192PASS baz(arg1, arg2) is 369 193PASS baz(arg1, arg2) is 371 194PASS baz(arg1, arg2) is 373 195PASS baz(arg1, arg2) is 375 196PASS baz(arg1, arg2) is 377 197PASS baz(arg1, arg2) is 379 198PASS baz(arg1, arg2) is 381 199PASS baz(arg1, arg2) is 383 200PASS baz(arg1, arg2) is 385 201PASS baz(arg1, arg2) is 387 202PASS baz(arg1, arg2) is 389 203PASS baz(arg1, arg2) is 391 204PASS baz(arg1, arg2) is 393 205PASS baz(arg1, arg2) is 395 206PASS baz(arg1, arg2) is 397 207PASS baz(arg1, arg2) is 399 208PASS baz(arg1, arg2) is 401 209PASS baz(arg1, arg2) is 403 210PASS baz(arg1, arg2) is 405 211PASS baz(arg1, arg2) is 407 212PASS baz(arg1, arg2) is 409 213PASS baz(arg1, arg2) is 411 214PASS baz(arg1, arg2) is 413 215PASS baz(arg1, arg2) is 415 216PASS baz(arg1, arg2) is 417 217PASS baz(arg1, arg2) is 419 218PASS baz(arg1, arg2) is 421 219PASS baz(arg1, arg2) is 423 220PASS baz(arg1, arg2) is 425 221PASS baz(arg1, arg2) is 427 222PASS baz(arg1, arg2) is 429 223PASS baz(arg1, arg2) is 431 224PASS baz(arg1, arg2) is 433 225PASS baz(arg1, arg2) is 435 226PASS baz(arg1, arg2) is 437 227PASS baz(arg1, arg2) is 439 228PASS baz(arg1, arg2) is 441 229PASS baz(arg1, arg2) is 443 230PASS baz(arg1, arg2) is 445 231PASS baz(arg1, arg2) is 447 232PASS baz(arg1, arg2) is 449 233PASS baz(arg1, arg2) is 451 234PASS baz(arg1, arg2) is 453 235PASS baz(arg1, arg2) is 455 236PASS baz(arg1, arg2) is 457 237PASS baz(arg1, arg2) is 459 238PASS baz(arg1, arg2) is 461 239PASS baz(arg1, arg2) is 463 240PASS baz(arg1, arg2) is 465 241PASS baz(arg1, arg2) is 467 242PASS baz(arg1, arg2) is 469 243PASS baz(arg1, arg2) is 471 244PASS baz(arg1, arg2) is 473 245PASS baz(arg1, arg2) is 475 246PASS baz(arg1, arg2) is 477 247PASS baz(arg1, arg2) is 479 248PASS baz(arg1, arg2) is 481 249PASS baz(arg1, arg2) is 483 250PASS baz(arg1, arg2) is 485 251PASS baz(arg1, arg2) is 487 252PASS baz(arg1, arg2) is 489 253PASS baz(arg1, arg2) is 491 254PASS baz(arg1, arg2) is 493 255PASS baz(arg1, arg2) is 495 256PASS baz(arg1, arg2) is 497 257PASS baz(arg1, arg2) is 499 258PASS baz(arg1, arg2) is 501 259PASS baz(arg1, arg2) is 503 260PASS baz(arg1, arg2) is 505 261PASS baz(arg1, arg2) is 507 262PASS baz(arg1, arg2) is 509 263PASS baz(arg1, arg2) is 511 264PASS baz(arg1, arg2) is 513 265PASS baz(arg1, arg2) is 515 266PASS baz(arg1, arg2) is 517 267PASS baz(arg1, arg2) is 519 268PASS baz(arg1, arg2) is 521 269PASS baz(arg1, arg2) is 523 270PASS baz(arg1, arg2) is 525 271PASS baz(arg1, arg2) is 527 272PASS baz(arg1, arg2) is 529 273PASS baz(arg1, arg2) is 531 274PASS baz(arg1, arg2) is 533 275PASS baz(arg1, arg2) is 535 276PASS baz(arg1, arg2) is 537 277PASS baz(arg1, arg2) is 539 278PASS baz(arg1, arg2) is 541 279PASS baz(arg1, arg2) is 293.5 280PASS baz(arg1, arg2) is 294.5 281PASS baz(arg1, arg2) is 295.5 282PASS baz(arg1, arg2) is 296.5 283PASS baz(arg1, arg2) is 297.5 284PASS baz(arg1, arg2) is 298.5 285PASS baz(arg1, arg2) is 299.5 286PASS baz(arg1, arg2) is 300.5 287PASS baz(arg1, arg2) is 301.5 288PASS baz(arg1, arg2) is 302.5 289PASS baz(arg1, arg2) is 303.5 290PASS baz(arg1, arg2) is 304.5 291PASS baz(arg1, arg2) is 305.5 292PASS baz(arg1, arg2) is 306.5 293PASS baz(arg1, arg2) is 307.5 294PASS baz(arg1, arg2) is 308.5 295PASS baz(arg1, arg2) is 309.5 296PASS baz(arg1, arg2) is 310.5 297PASS baz(arg1, arg2) is 311.5 298PASS baz(arg1, arg2) is 312.5 299PASS baz(arg1, arg2) is 313.5 300PASS baz(arg1, arg2) is 314.5 301PASS baz(arg1, arg2) is 315.5 302PASS baz(arg1, arg2) is 316.5 303PASS baz(arg1, arg2) is 317.5 304PASS baz(arg1, arg2) is 318.5 305PASS baz(arg1, arg2) is 319.5 306PASS baz(arg1, arg2) is 320.5 307PASS baz(arg1, arg2) is 321.5 308PASS baz(arg1, arg2) is 322.5 309PASS baz(arg1, arg2) is 323.5 310PASS baz(arg1, arg2) is 324.5 311PASS baz(arg1, arg2) is 325.5 312PASS baz(arg1, arg2) is 326.5 313PASS baz(arg1, arg2) is 327.5 314PASS baz(arg1, arg2) is 328.5 315PASS baz(arg1, arg2) is 329.5 316PASS baz(arg1, arg2) is 330.5 317PASS baz(arg1, arg2) is 331.5 318PASS baz(arg1, arg2) is 332.5 319PASS baz(arg1, arg2) is 333.5 320PASS baz(arg1, arg2) is 334.5 321PASS baz(arg1, arg2) is 335.5 322PASS baz(arg1, arg2) is 336.5 323PASS baz(arg1, arg2) is 337.5 324PASS baz(arg1, arg2) is 338.5 325PASS baz(arg1, arg2) is 339.5 326PASS baz(arg1, arg2) is 340.5 327PASS baz(arg1, arg2) is 341.5 328PASS baz(arg1, arg2) is 342.5 329PASS successfullyParsed is true 330 331TEST COMPLETE 332 333