Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index 6b104ce2438a216158d0fdc1b9cd2eee0dc905d7..6a123d6acece7d9eb902b38bd81e092cc31592ce 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -1861,8 +1861,12 @@ class LCallWithDescriptor final : public LTemplateResultInstruction<1> { |
public: |
LCallWithDescriptor(CallInterfaceDescriptor descriptor, |
const ZoneList<LOperand*>& operands, Zone* zone) |
- : inputs_(descriptor.GetRegisterParameterCount() + 1, zone) { |
- DCHECK(descriptor.GetRegisterParameterCount() + 1 == operands.length()); |
+ : inputs_(descriptor.GetRegisterParameterCount() + |
+ kImplicitRegisterParameterCount, |
+ zone) { |
+ DCHECK(descriptor.GetRegisterParameterCount() + |
+ kImplicitRegisterParameterCount == |
+ operands.length()); |
inputs_.AddAll(operands, zone); |
} |
@@ -1870,6 +1874,10 @@ class LCallWithDescriptor final : public LTemplateResultInstruction<1> { |
DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor) |
+ // The target and context are passed as implicit parameters that are not |
+ // explicitly listed in the descriptor. |
+ static const int kImplicitRegisterParameterCount = 2; |
+ |
private: |
DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor") |