1fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org// Copyright 2014 the V8 project authors. All rights reserved.
2fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org// Use of this source code is governed by a BSD-style license that can be
3fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org// found in the LICENSE file.
4fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org
5fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org// Flags: --allow-natives-syntax
6fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org
7fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.orgvar dummy = new Int32Array(100);
8fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.orgvar array = new Int32Array(128);
9fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.orgfunction fun(base) {
10fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org  array[base - 95] = 1;
11fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org  array[base - 99] = 2;
12fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org  array[base + 4] = 3;
13fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org}
14fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.orgfun(100);
15fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org%OptimizeFunctionOnNextCall(fun);
16fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.orgfun(0);
17fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org
18fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.orgfor (var i = 0; i < dummy.length; i++) {
19fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org  assertEquals(0, dummy[i]);
20fb79f8683208e62002112b4406ec9dadda54dec2machenbach@chromium.org}
21