Index: src/compiler/linkage.cc |
diff --git a/src/compiler/linkage.cc b/src/compiler/linkage.cc |
index 51c54fb80643466b66ab7ba1f740b238db570475..971ea7212d5ce5573ef0289b35ac233ede1740fc 100644 |
--- a/src/compiler/linkage.cc |
+++ b/src/compiler/linkage.cc |
@@ -107,6 +107,23 @@ bool CallDescriptor::CanTailCall(const Node* node) const { |
return HasSameReturnLocationsAs(CallDescriptorOf(node->op())); |
} |
+int CallDescriptor::CalculateFixedFrameSize() const { |
+ switch (kind_) { |
+ case kCallJSFunction: |
+ return PushArgumentCount() |
+ ? OptimizedBuiltinFrameConstants::kFixedSlotCount |
+ : StandardFrameConstants::kFixedSlotCount; |
+ break; |
+ case kCallAddress: |
+ return CommonFrameConstants::kFixedSlotCountAboveFp + |
+ CommonFrameConstants::kCPSlotCount; |
+ break; |
+ case kCallCodeObject: |
+ return TypedFrameConstants::kFixedSlotCount; |
+ } |
+ UNREACHABLE(); |
+ return 0; |
+} |
CallDescriptor* Linkage::ComputeIncoming(Zone* zone, CompilationInfo* info) { |
DCHECK(!info->IsStub()); |