Index: src/compiler/linkage.cc |
diff --git a/src/compiler/linkage.cc b/src/compiler/linkage.cc |
index 29d4388857fdf781f8b614c9f32a37adca859b19..f117f9f076d298bd16d51c48c89e7f7298b89ba3 100644 |
--- a/src/compiler/linkage.cc |
+++ b/src/compiler/linkage.cc |
@@ -34,7 +34,7 @@ std::ostream& operator<<(std::ostream& os, const CallDescriptor& d) { |
// TODO(svenpanne) Output properties etc. and be less cryptic. |
return os << d.kind() << ":" << d.debug_name() << ":r" << d.ReturnCount() |
<< "j" << d.JSParameterCount() << "i" << d.InputCount() << "f" |
- << d.FrameStateCount(); |
+ << d.FrameStateCount() << "t" << d.IsTailCallAllowed(); |
} |
@@ -141,6 +141,17 @@ bool Linkage::NeedsFrameState(Runtime::FunctionId function) { |
} |
+bool CallDescriptor::UsesOnlyRegisters() const { |
+ for (size_t i = 0; i < InputCount(); ++i) { |
+ if (!GetInputLocation(i).is_register()) return false; |
+ } |
+ for (size_t i = 0; i < ReturnCount(); ++i) { |
+ if (!GetReturnLocation(i).is_register()) return false; |
+ } |
+ return true; |
+} |
+ |
+ |
//============================================================================== |
// Provide unimplemented methods on unsupported architectures, to at least link. |
//============================================================================== |