Index: src/compiler/linkage.cc |
diff --git a/src/compiler/linkage.cc b/src/compiler/linkage.cc |
index 6b3c0778ce3c0e38c26556919f279845cdf2c758..09fd5e60188c2a82e7d0752717564fab39b08457 100644 |
--- a/src/compiler/linkage.cc |
+++ b/src/compiler/linkage.cc |
@@ -283,7 +283,7 @@ bool CallDescriptor::UsesOnlyRegisters() const { |
CallDescriptor* Linkage::GetRuntimeCallDescriptor( |
Zone* zone, Runtime::FunctionId function_id, int js_parameter_count, |
- Operator::Properties properties) { |
+ Operator::Properties properties, bool needs_frame_state) { |
const size_t function_count = 1; |
const size_t num_args_count = 1; |
const size_t context_count = 1; |
@@ -326,9 +326,10 @@ CallDescriptor* Linkage::GetRuntimeCallDescriptor( |
locations.AddParam(regloc(kContextRegister)); |
types.AddParam(kMachAnyTagged); |
- CallDescriptor::Flags flags = Linkage::FrameStateInputCount(function_id) > 0 |
- ? CallDescriptor::kNeedsFrameState |
- : CallDescriptor::kNoFlags; |
+ CallDescriptor::Flags flags = |
+ needs_frame_state && (Linkage::FrameStateInputCount(function_id) > 0) |
+ ? CallDescriptor::kNeedsFrameState |
+ : CallDescriptor::kNoFlags; |
// The target for runtime calls is a code object. |
MachineType target_type = kMachAnyTagged; |