regress-shift-right.js 957 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// Copyright 2015 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

(function ShiftRightWithDeoptUsage() {
  function g() {}

  function f() {
    var tmp = 1264475713;
    var tmp1 = tmp - (-913041544);
    g();
    return 1 >> tmp1;
  }

17
  %PrepareFunctionForOptimization(f);
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
  %OptimizeFunctionOnNextCall(f);
  assertEquals(0, f());
})();


(function ShiftRightWithCallUsage() {
  var f = (function() {
    "use asm"
    // This is not a valid asm.js, we use the "use asm" here to
    // trigger Turbofan without deoptimization support.

    function g(x) { return x; }

    function f() {
      var tmp = 1264475713;
      var tmp1 = tmp - (-913041544);
      return g(1 >> tmp1, tmp1);
    }

    return f;
  })();

40
  %PrepareFunctionForOptimization(f);
41 42 43
  %OptimizeFunctionOnNextCall(f);
  assertEquals(0, f());
})();