142effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// Copyright 2011 the V8 project authors. All rights reserved.
242effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// Redistribution and use in source and binary forms, with or without
342effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// modification, are permitted provided that the following conditions are
442effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// met:
542effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//
642effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//     * Redistributions of source code must retain the above copyright
742effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//       notice, this list of conditions and the following disclaimer.
842effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//     * Redistributions in binary form must reproduce the above
942effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//       copyright notice, this list of conditions and the following
1042effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//       disclaimer in the documentation and/or other materials provided
1142effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//       with the distribution.
1242effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//     * Neither the name of Google Inc. nor the names of its
1342effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//       contributors may be used to endorse or promote products derived
1442effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//       from this software without specific prior written permission.
1542effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch//
1642effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1742effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1842effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1942effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2042effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2142effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2242effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2342effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2442effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2542effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2642effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2742effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch
2842effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// Flags: --allow-natives-syntax
2942effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch
3042effa50d92d47f80404ee63808dbde9921e6202Ben Murdochvar f = {
3142effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch  apply: function(a, b) {}
3242effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch};
3342effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch
3442effa50d92d47f80404ee63808dbde9921e6202Ben Murdochfunction test(a) {
3542effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch  f.apply(this, arguments);
3642effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch}
3742effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch
3842effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// Initialize ICs.
3942effa50d92d47f80404ee63808dbde9921e6202Ben Murdochtest(1);
4042effa50d92d47f80404ee63808dbde9921e6202Ben Murdochtest(1);
4142effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch
4242effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch%OptimizeFunctionOnNextCall(test);
4342effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch
4442effa50d92d47f80404ee63808dbde9921e6202Ben Murdoch// Kaboom!
4542effa50d92d47f80404ee63808dbde9921e6202Ben Murdochtest(1);
46