Commit f20c8427 authored by mtrofin's avatar mtrofin Committed by Commit bot

[turbofan] Fix for register allocation crash

It appears we haven't wired in the 32 float constant passed on the stack.

BUG=v8:4506
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31453}
parent 87c46838
......@@ -632,6 +632,10 @@ void CodeGenerator::AddTranslationForOperand(Translation* translation,
constant_object =
isolate()->factory()->NewNumberFromInt(constant.ToInt32());
break;
case Constant::kFloat32:
DCHECK((type & (kRepFloat32 | kRepTagged)) != 0);
constant_object = isolate()->factory()->NewNumber(constant.ToFloat32());
break;
case Constant::kFloat64:
DCHECK((type & (kRepFloat64 | kRepTagged)) != 0);
constant_object = isolate()->factory()->NewNumber(constant.ToFloat64());
......
......@@ -1096,6 +1096,7 @@ InstructionOperand InstructionSelector::OperandForDeopt(
switch (input->opcode()) {
case IrOpcode::kInt32Constant:
case IrOpcode::kNumberConstant:
case IrOpcode::kFloat32Constant:
case IrOpcode::kFloat64Constant:
case IrOpcode::kHeapConstant:
return g->UseImmediate(input);
......
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