[deoptimizer] Accept the use of compressed heap constants

Change-Id: I338ca9de7609eb0855054fe776b32c4e9321ac7c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890104
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64673}
This commit is contained in:
Santiago Aboy Solanes 2019-10-30 17:41:02 +00:00 committed by Commit Bot
parent 45b8e3e9be
commit 8edda904f0
2 changed files with 2 additions and 1 deletions

View File

@ -1245,7 +1245,7 @@ void CodeGenerator::AddTranslationForOperand(Translation* translation,
literal = DeoptimizationLiteral(constant.ToHeapObject());
break;
case Constant::kCompressedHeapObject:
DCHECK_EQ(MachineRepresentation::kCompressed, type.representation());
DCHECK_EQ(MachineType::TypeCompressedTagged(), type);
literal = DeoptimizationLiteral(constant.ToHeapObject());
break;
case Constant::kDelayedStringConstant:

View File

@ -482,6 +482,7 @@ InstructionOperand OperandForDeopt(Isolate* isolate, OperandGenerator* g,
case IrOpcode::kFloat64Constant:
case IrOpcode::kDelayedStringConstant:
return g->UseImmediate(input);
case IrOpcode::kCompressedHeapConstant:
case IrOpcode::kHeapConstant: {
if (!CanBeTaggedOrCompressedPointer(rep)) {
// If we have inconsistent static and dynamic types, e.g. if we