Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(121)

Unified Diff: src/compiler/js-operator.cc

Issue 1216933011: [turbofan] Enable tail calls for %_CallFunction. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix platform ports Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/js-operator.h ('k') | src/compiler/linkage.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/js-operator.cc
diff --git a/src/compiler/js-operator.cc b/src/compiler/js-operator.cc
index d496dff3c389cdae29954dc1db97721f0eff732c..1966724a86a1ab2df7a5cfe5579e79ee51e70e3b 100644
--- a/src/compiler/js-operator.cc
+++ b/src/compiler/js-operator.cc
@@ -30,7 +30,11 @@ size_t hash_value(VectorSlotPair const& p) {
std::ostream& operator<<(std::ostream& os, CallFunctionParameters const& p) {
- return os << p.arity() << ", " << p.flags() << ", " << p.language_mode();
+ os << p.arity() << ", " << p.flags() << ", " << p.language_mode();
+ if (p.AllowTailCalls()) {
+ os << ", ALLOW_TAIL_CALLS";
+ }
+ return os;
}
@@ -470,10 +474,13 @@ CACHED_OP_LIST_WITH_LANGUAGE_MODE(CACHED_WITH_LANGUAGE_MODE)
#undef CACHED_WITH_LANGUAGE_MODE
-const Operator* JSOperatorBuilder::CallFunction(
- size_t arity, CallFunctionFlags flags, LanguageMode language_mode,
- VectorSlotPair const& feedback) {
- CallFunctionParameters parameters(arity, flags, language_mode, feedback);
+const Operator* JSOperatorBuilder::CallFunction(size_t arity,
+ CallFunctionFlags flags,
+ LanguageMode language_mode,
+ VectorSlotPair const& feedback,
+ TailCallMode tail_call_mode) {
+ CallFunctionParameters parameters(arity, flags, language_mode, feedback,
+ tail_call_mode);
return new (zone()) Operator1<CallFunctionParameters>( // --
IrOpcode::kJSCallFunction, Operator::kNoProperties, // opcode
"JSCallFunction", // name
« no previous file with comments | « src/compiler/js-operator.h ('k') | src/compiler/linkage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698