v8/test/mjsunit/compiler/regress-crbug-1228233.js
Georg Neis 86282dcba3 [compiler] Avoid disconnected effectful operators in dead code
Bug: chromium:1228233
Change-Id: I7868cefd2123261f144d61e322a233ed460100ff
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3026717
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75732}
2021-07-15 08:32:36 +00:00

29 lines
584 B
JavaScript

// Copyright 2021 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 --interrupt-budget=1024
const x = {a: 4.2};
function foo() {
const z = {a: [], b: NaN};
function bar(arg) {
const y = {a: 42};
y.a = 42;
arg.a = NaN;
for (let i = 0; i < 10; i++) {
[].toLocaleString();
}
}
const obj = {e: {}};
bar(obj);
bar(obj);
}
%PrepareFunctionForOptimization(foo);
foo();
foo();
%OptimizeFunctionOnNextCall(foo);
foo();