Index: src/compiler/c-linkage.cc |
diff --git a/src/compiler/c-linkage.cc b/src/compiler/c-linkage.cc |
index 44e0bf1672c374d6451f2b5a0de2b34dbe677a7d..cb47a7228d4e3ad5ba45fb9e5f94ad386a4b8b60 100644 |
--- a/src/compiler/c-linkage.cc |
+++ b/src/compiler/c-linkage.cc |
@@ -133,7 +133,7 @@ LinkageLocation regloc(Register reg) { |
// General code uses the above configuration data. |
CallDescriptor* Linkage::GetSimplifiedCDescriptor( |
- Zone* zone, const MachineSignature* msig) { |
+ Zone* zone, const MachineSignature* msig, bool set_initialize_root_flag) { |
LocationSignature::Builder locations(zone, msig->return_count(), |
msig->parameter_count()); |
#if 0 // TODO(titzer): instruction selector tests break here. |
@@ -220,7 +220,9 @@ CallDescriptor* Linkage::GetSimplifiedCDescriptor( |
Operator::kNoProperties, // properties |
kCalleeSaveRegisters, // callee-saved registers |
kCalleeSaveFPRegisters, // callee-saved fp regs |
- CallDescriptor::kNoFlags, // flags |
+ set_initialize_root_flag ? // flags |
+ CallDescriptor::kInitializeRootRegister |
+ : CallDescriptor::kNoFlags, |
"c-call"); |
} |