Index: src/compiler/instruction-selector.cc |
diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc |
index f233cae5b5ac89e324c159daaf7fd71c54127ee1..64bfa6ecc5d24bbc98b2b1c7e30bb1d42d1f7887 100644 |
--- a/src/compiler/instruction-selector.cc |
+++ b/src/compiler/instruction-selector.cc |
@@ -1696,13 +1696,17 @@ void InstructionSelector::VisitParameter(Node* node) { |
Emit(kArchNop, op); |
} |
+namespace { |
+LinkageLocation ExceptionLocation() { |
bradnelson
2016/09/27 04:25:56
Could land this as a separate fix if you link (rol
John
2016/09/28 13:37:18
Small enough, and mildly related to this CL... I'l
|
+ return LinkageLocation::ForRegister(kReturnRegister0.code(), |
+ MachineType::IntPtr()); |
+} |
+} |
void InstructionSelector::VisitIfException(Node* node) { |
OperandGenerator g(this); |
- Node* call = node->InputAt(1); |
- DCHECK_EQ(IrOpcode::kCall, call->opcode()); |
- const CallDescriptor* descriptor = CallDescriptorOf(call->op()); |
- Emit(kArchNop, g.DefineAsLocation(node, descriptor->GetReturnLocation(0))); |
+ DCHECK_EQ(IrOpcode::kCall, node->InputAt(1)->opcode()); |
+ Emit(kArchNop, g.DefineAsLocation(node, ExceptionLocation())); |
} |