regress-934175.js 739 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11
// Copyright 2019 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 ShortcutEmptyStringAddRight() {
  let ar = new Float32Array(1);
  function opt(i){
    return ar[i] + (NaN ? 0 : '');
  }
12
  %PrepareFunctionForOptimization(opt);
13 14 15 16 17 18 19 20 21 22 23
  ar[0] = 42;
  opt(1);
  %OptimizeFunctionOnNextCall(opt);
  assertEquals("42", opt(0));
})();

(function ShortcutiEmptyStringAddLeft() {
  let ar = new Float32Array(1);
  function opt(i){
    return (NaN ? 0 : '') + ar[i];
  }
24
  %PrepareFunctionForOptimization(opt);
25 26 27 28 29
  ar[0] = 42;
  opt(1);
  %OptimizeFunctionOnNextCall(opt);
  assertEquals("42", opt(0));
})();