Index: src/parsing/parser-base.h |
diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h |
index 27b9764434c5364ff18c9cf561acde122b80090d..7f8fd719432a7b306308ece55599b4d0f441025d 100644 |
--- a/src/parsing/parser-base.h |
+++ b/src/parsing/parser-base.h |
@@ -2863,6 +2863,10 @@ ParserBase<Traits>::ParseArrowFunctionLiteral( |
body->Add(factory()->NewReturnStatement(expression, pos), zone()); |
materialized_literal_count = function_state.materialized_literal_count(); |
expected_property_count = function_state.expected_property_count(); |
+ // ES6 14.6.1 Static Semantics: IsInTailPosition |
+ if (allow_tailcalls() && !is_sloppy(language_mode())) { |
+ this->MarkTailPosition(expression); |
+ } |
} |
super_loc = function_state.super_location(); |