1fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org// Copyright 2014 the V8 project authors. All rights reserved. 2fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org// Use of this source code is governed by a BSD-style license that can be 3fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org// found in the LICENSE file. 4fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org 5fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org// Flags: --allow-natives-syntax 6fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org 7fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.orgfunction load(a, i) { 8fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org return a[i]; 9fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org} 10fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org 11fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.orgfunction f2(a, b, c, d, index) { 12fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org return load(arguments, index); 13fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org} 14fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org 15fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.orgf2(1, 2, 3, 4, "foo"); 16fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.orgf2(1, 2, 3, 4, "foo"); 17fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.orgload([11, 22, 33], 0); 18fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.orgassertEquals(11, f2(11, 22, 33, 44, 0)); 19fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org 20fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.org%OptimizeFunctionOnNextCall(load); 21fa0c3c69b9d632e5730bdd9c745c375beef5e54dmachenbach@chromium.orgassertEquals(11, f2(11, 22, 33, 44, 0)); 22