Index: src/compiler/c-linkage.cc |
diff --git a/src/compiler/c-linkage.cc b/src/compiler/c-linkage.cc |
index 5fddc4c62886442041d8f979f70498cbc73b5b3b..b38e529f9fa1caa2e00095f243e5da409e38dcea 100644 |
--- a/src/compiler/c-linkage.cc |
+++ b/src/compiler/c-linkage.cc |
@@ -230,6 +230,11 @@ CallDescriptor* Linkage::GetSimplifiedCDescriptor( |
// The target for C calls is always an address (i.e. machine pointer). |
MachineType target_type = MachineType::Pointer(); |
LinkageLocation target_loc = LinkageLocation::ForAnyRegister(); |
+ CallDescriptor::Flags flags = CallDescriptor::kUseNativeStack; |
+ if (set_initialize_root_flag) { |
+ flags |= CallDescriptor::kInitializeRootRegister; |
+ } |
+ |
return new (zone) CallDescriptor( // -- |
CallDescriptor::kCallAddress, // kind |
target_type, // target MachineType |
@@ -240,10 +245,7 @@ CallDescriptor* Linkage::GetSimplifiedCDescriptor( |
Operator::kNoProperties, // properties |
kCalleeSaveRegisters, // callee-saved registers |
kCalleeSaveFPRegisters, // callee-saved fp regs |
- set_initialize_root_flag ? // flags |
- CallDescriptor::kInitializeRootRegister |
- : CallDescriptor::kNoFlags, |
- "c-call"); |
+ flags, "c-call"); |
} |
} // namespace compiler |