Commit 3e622204 authored by Nico Hartmann's avatar Nico Hartmann Committed by Commit Bot

[TurboFan] Relax DCHECK that is too strong

Bug: chromium:1170261
Change-Id: Id2c5d18df892ece2823f7784dee4e69e54b7454c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2652491
Auto-Submit: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72368}
parent ae1d7f8e
...@@ -1105,7 +1105,7 @@ Node* RepresentationChanger::GetWord64RepresentationFor( ...@@ -1105,7 +1105,7 @@ Node* RepresentationChanger::GetWord64RepresentationFor(
// BigInts are only represented as tagged pointer and word64. // BigInts are only represented as tagged pointer and word64.
if (!CanBeTaggedPointer(output_rep) && if (!CanBeTaggedPointer(output_rep) &&
output_rep != MachineRepresentation::kWord64) { output_rep != MachineRepresentation::kWord64) {
DCHECK(!output_type.Is(Type::BigInt())); DCHECK(!output_type.Equals(Type::BigInt()));
Node* unreachable = Node* unreachable =
InsertUnconditionalDeopt(use_node, DeoptimizeReason::kNotABigInt); InsertUnconditionalDeopt(use_node, DeoptimizeReason::kNotABigInt);
return jsgraph()->graph()->NewNode( return jsgraph()->graph()->NewNode(
......
// 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
function foo(unused1, unused2, bigint) {
const temp = -bigint;
}
function bar() {
const arr = Array();
const obj = Object();
arr.reduce(foo, 0)
}
%PrepareFunctionForOptimization(foo);
foo(0, 0, 2316465375n);
%OptimizeFunctionOnNextCall(foo);
foo(0, 0, 2316465375n);
%PrepareFunctionForOptimization(bar);
bar();
%OptimizeFunctionOnNextCall(bar);
bar();
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