Merge V8 5.3.332.45. DO NOT MERGE
Test: Manual
FPIIM-449
Change-Id: Id3254828b068abdea3cb10442e0172a8c9a98e03
(cherry picked from commit 13e2dadd00298019ed862f2b2fc5068bba730bcf)
diff --git a/src/compiler/instruction-selector-impl.h b/src/compiler/instruction-selector-impl.h
index 301612c..be24e2d 100644
--- a/src/compiler/instruction-selector-impl.h
+++ b/src/compiler/instruction-selector-impl.h
@@ -54,9 +54,10 @@
reg.code(), GetVReg(node)));
}
- InstructionOperand DefineAsFixed(Node* node, DoubleRegister reg) {
+ template <typename FPRegType>
+ InstructionOperand DefineAsFixed(Node* node, FPRegType reg) {
return Define(node,
- UnallocatedOperand(UnallocatedOperand::FIXED_DOUBLE_REGISTER,
+ UnallocatedOperand(UnallocatedOperand::FIXED_FP_REGISTER,
reg.code(), GetVReg(node)));
}
@@ -122,10 +123,10 @@
reg.code(), GetVReg(node)));
}
- InstructionOperand UseFixed(Node* node, DoubleRegister reg) {
- return Use(node,
- UnallocatedOperand(UnallocatedOperand::FIXED_DOUBLE_REGISTER,
- reg.code(), GetVReg(node)));
+ template <typename FPRegType>
+ InstructionOperand UseFixed(Node* node, FPRegType reg) {
+ return Use(node, UnallocatedOperand(UnallocatedOperand::FIXED_FP_REGISTER,
+ reg.code(), GetVReg(node)));
}
InstructionOperand UseExplicit(LinkageLocation location) {
@@ -218,6 +219,7 @@
case IrOpcode::kNumberConstant:
return Constant(OpParameter<double>(node));
case IrOpcode::kExternalConstant:
+ case IrOpcode::kComment:
return Constant(OpParameter<ExternalReference>(node));
case IrOpcode::kHeapConstant:
return Constant(OpParameter<Handle<HeapObject>>(node));
@@ -274,7 +276,7 @@
}
// a fixed register.
if (IsFloatingPoint(rep)) {
- return UnallocatedOperand(UnallocatedOperand::FIXED_DOUBLE_REGISTER,
+ return UnallocatedOperand(UnallocatedOperand::FIXED_FP_REGISTER,
location.AsRegister(), virtual_register);
}
return UnallocatedOperand(UnallocatedOperand::FIXED_REGISTER,