Index: src/parsing/parser-base.h |
diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h |
index 8664586cf66e258c4fcfe77fb031beb3de9ec6d0..cdfbe7e0f32e7af404f78abfb1bc6c726ea5596c 100644 |
--- a/src/parsing/parser-base.h |
+++ b/src/parsing/parser-base.h |
@@ -2872,6 +2872,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(); |