Home | History | Annotate | Download | only in mjsunit
      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.
      9 function doShift(a) {
     10   var x = a.shift();
     11   return x;
     12 }
     13 
     14 function makeArray() {
     15   var a = [1, 2,, 3];
     16   a[0] = 2;
     17   return a;
     18 }
     19 
     20 doShift(makeArray());
     21 doShift(makeArray());
     22 %OptimizeFunctionOnNextCall(doShift);
     23 doShift(makeArray());
     24 assertOptimized(doShift);
     25