// Copyright 2014 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Flags: --allow-natives-syntax var dummy = new Int32Array(100); array = new Int32Array(100); var dummy2 = new Int32Array(100); array[-17] = 0; function fun(base, cond) { array[base - 1] = 1; array[base - 2] = 2; if (cond) { array[base - 4] = 3; array[base - 5] = 4; } else { array[base - 6] = 5; array[base - 100] = 777; } }; %PrepareFunctionForOptimization(fun); fun(5, true); fun(7, false); %OptimizeFunctionOnNextCall(fun); fun(7, false); for (var i = 0; i < dummy.length; i++) { assertEquals(0, dummy[i]); } for (var i = 0; i < dummy2.length; i++) { assertEquals(0, dummy2[i]); }