Commit 1e4a2725 authored by bmeurer's avatar bmeurer Committed by Commit bot

[turbofan] Teach escape analysis about ObjectIsNaN.

BUG=chromium:698607
R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2735633003
Cr-Commit-Position: refs/heads/master@{#43612}
parent fe704477
...@@ -840,6 +840,7 @@ bool EscapeStatusAnalysis::CheckUsesForEscape(Node* uses, Node* rep, ...@@ -840,6 +840,7 @@ bool EscapeStatusAnalysis::CheckUsesForEscape(Node* uses, Node* rep,
case IrOpcode::kStringCharCodeAt: case IrOpcode::kStringCharCodeAt:
case IrOpcode::kStringIndexOf: case IrOpcode::kStringIndexOf:
case IrOpcode::kObjectIsDetectableCallable: case IrOpcode::kObjectIsDetectableCallable:
case IrOpcode::kObjectIsNaN:
case IrOpcode::kObjectIsNonCallable: case IrOpcode::kObjectIsNonCallable:
case IrOpcode::kObjectIsNumber: case IrOpcode::kObjectIsNumber:
case IrOpcode::kObjectIsReceiver: case IrOpcode::kObjectIsReceiver:
......
// Copyright 2017 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 assertSame(expected, found) {
if (found === expected) {
} else if ((expected !== expected) && (found !== found)) {
}
}
function foo() {
var x = {var: 0.5};
assertSame(x, x.val);
return () => x;
}
foo(1);
foo(1);
%OptimizeFunctionOnNextCall(foo);
foo(1);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment