Index: src/compiler/linkage.cc |
diff --git a/src/compiler/linkage.cc b/src/compiler/linkage.cc |
index ca9763bf67b63bcecb44a2f0dbee8b062e47bb8d..902f94e83ea0ab0c66cb9e40c4dcbc0f178f0ed3 100644 |
--- a/src/compiler/linkage.cc |
+++ b/src/compiler/linkage.cc |
@@ -176,7 +176,6 @@ int Linkage::FrameStateInputCount(Runtime::FunctionId function) { |
case Runtime::kInlineArguments: |
case Runtime::kInlineArgumentsLength: |
case Runtime::kInlineDefaultConstructorCallSuper: |
- case Runtime::kInlineGetCallerJSFunction: |
case Runtime::kInlineGetPrototype: |
case Runtime::kInlineIsConstructCall: |
case Runtime::kInlineRegExpExec: |
@@ -222,7 +221,7 @@ bool CallDescriptor::UsesOnlyRegisters() const { |
CallDescriptor* Linkage::GetRuntimeCallDescriptor( |
Zone* zone, Runtime::FunctionId function_id, int js_parameter_count, |
- Operator::Properties properties, bool needs_frame_state) { |
+ Operator::Properties properties, CallDescriptor::Flags flags) { |
const size_t function_count = 1; |
const size_t num_args_count = 1; |
const size_t context_count = 1; |
@@ -265,10 +264,10 @@ CallDescriptor* Linkage::GetRuntimeCallDescriptor( |
locations.AddParam(regloc(kContextRegister)); |
types.AddParam(kMachAnyTagged); |
- CallDescriptor::Flags flags = |
- needs_frame_state && (Linkage::FrameStateInputCount(function_id) > 0) |
- ? CallDescriptor::kNeedsFrameState |
- : CallDescriptor::kNoFlags; |
+ if (Linkage::FrameStateInputCount(function_id) == 0) { |
+ flags = static_cast<CallDescriptor::Flags>( |
+ flags & ~CallDescriptor::kNeedsFrameState); |
+ } |
// The target for runtime calls is a code object. |
MachineType target_type = kMachAnyTagged; |