1// Copyright 2014 the V8 project authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Flags: --allow-natives-syntax 6 7// Inlining shift with holey smi arrays shouldn't deopt just because it 8// encounters the hole on the copy step. 9function doShift(a) { 10 var x = a.shift(); 11 return x; 12} 13 14function makeArray() { 15 var a = [1, 2,, 3]; 16 a[0] = 2; 17 return a; 18} 19 20doShift(makeArray()); 21doShift(makeArray()); 22%OptimizeFunctionOnNextCall(doShift); 23doShift(makeArray()); 24assertOptimized(doShift); 25