Commit 7bd2d3e3 authored by mstarzinger's avatar mstarzinger Committed by Commit bot

[turbofan] Fix over-restictive assertion in code generator.

R=titzer@chromium.org
TEST=mjsunit/regress/regress-crbug-489293
BUG=chromium:489293
LOG=n

Review URL: https://codereview.chromium.org/1142873005

Cr-Commit-Position: refs/heads/master@{#28486}
parent c06b1e05
......@@ -581,10 +581,7 @@ void CodeGenerator::AddTranslationForOperand(Translation* translation,
isolate()->factory()->NewNumberFromInt(constant.ToInt32());
break;
case Constant::kFloat64:
DCHECK(type == kMachFloat64 || type == kMachAnyTagged ||
type == kRepTagged || type == (kTypeNumber | kRepTagged) ||
type == (kTypeInt32 | kRepTagged) ||
type == (kTypeUint32 | kRepTagged));
DCHECK((type & (kRepFloat64 | kRepTagged)) != 0);
constant_object = isolate()->factory()->NewNumber(constant.ToFloat64());
break;
case Constant::kHeapObject:
......
// 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 --turbo-filter=f --turbo-deoptimization
// Flags: --noanalyze-environment-liveness
function f() {
var x = 0;
for (var y = 0; y < 0; ++y) {
x = (x + y) | 0;
}
return unbound;
}
%OptimizeFunctionOnNextCall(f);
assertThrows(f, ReferenceError);
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