Index: src/parsing/parser.cc |
diff --git a/src/parsing/parser.cc b/src/parsing/parser.cc |
index b9d26995f1b1e19078b93de222c03bd16f08de64..88b3808f10f0a17e7e4269b136ff36d49aa6156c 100644 |
--- a/src/parsing/parser.cc |
+++ b/src/parsing/parser.cc |
@@ -167,7 +167,6 @@ void Parser::SetCachedData(ParseInfo* info) { |
FunctionLiteral* Parser::DefaultConstructor(const AstRawString* name, |
bool call_super, int pos, |
int end_pos) { |
- int materialized_literal_count = -1; |
int expected_property_count = -1; |
const int parameter_count = 0; |
if (name == nullptr) name = ast_value_factory()->empty_string(); |
@@ -207,14 +206,12 @@ FunctionLiteral* Parser::DefaultConstructor(const AstRawString* name, |
body->Add(factory()->NewReturnStatement(call, pos), zone()); |
} |
- materialized_literal_count = function_state.materialized_literal_count(); |
expected_property_count = function_state.expected_property_count(); |
} |
FunctionLiteral* function_literal = factory()->NewFunctionLiteral( |
- name, function_scope, body, materialized_literal_count, |
- expected_property_count, parameter_count, parameter_count, |
- FunctionLiteral::kNoDuplicateParameters, |
+ name, function_scope, body, expected_property_count, parameter_count, |
+ parameter_count, FunctionLiteral::kNoDuplicateParameters, |
FunctionLiteral::kAnonymousExpression, default_eager_compile_hint(), pos, |
true, GetNextFunctionLiteralId()); |
@@ -748,8 +745,8 @@ FunctionLiteral* Parser::DoParseProgram(ParseInfo* info) { |
RewriteDestructuringAssignments(); |
int parameter_count = parsing_module_ ? 1 : 0; |
result = factory()->NewScriptOrEvalFunctionLiteral( |
- scope, body, function_state.materialized_literal_count(), |
- function_state.expected_property_count(), parameter_count); |
+ scope, body, function_state.expected_property_count(), |
+ parameter_count); |
} |
} |
@@ -2593,7 +2590,6 @@ FunctionLiteral* Parser::ParseFunctionLiteral( |
use_temp_zone && FLAG_lazy_inner_functions && !is_lazy_top_level_function; |
ZoneList<Statement*>* body = nullptr; |
- int materialized_literal_count = -1; |
int expected_property_count = -1; |
bool should_be_used_once_hint = false; |
int num_parameters = -1; |
@@ -2638,11 +2634,10 @@ FunctionLiteral* Parser::ParseFunctionLiteral( |
if (is_lazy_top_level_function || is_lazy_inner_function) { |
Scanner::BookmarkScope bookmark(scanner()); |
bookmark.Set(); |
- LazyParsingResult result = |
- SkipFunction(kind, scope, &num_parameters, &function_length, |
- &has_duplicate_parameters, &materialized_literal_count, |
- &expected_property_count, is_lazy_inner_function, |
- is_lazy_top_level_function, CHECK_OK); |
+ LazyParsingResult result = SkipFunction( |
+ kind, scope, &num_parameters, &function_length, |
+ &has_duplicate_parameters, &expected_property_count, |
+ is_lazy_inner_function, is_lazy_top_level_function, CHECK_OK); |
if (result == kLazyParsingAborted) { |
DCHECK(is_lazy_top_level_function); |
@@ -2662,10 +2657,10 @@ FunctionLiteral* Parser::ParseFunctionLiteral( |
} |
if (!is_lazy_top_level_function && !is_lazy_inner_function) { |
- body = ParseFunction( |
- function_name, pos, kind, function_type, scope, &num_parameters, |
- &function_length, &has_duplicate_parameters, |
- &materialized_literal_count, &expected_property_count, CHECK_OK); |
+ body = ParseFunction(function_name, pos, kind, function_type, scope, |
+ &num_parameters, &function_length, |
+ &has_duplicate_parameters, &expected_property_count, |
+ CHECK_OK); |
} |
DCHECK(use_temp_zone || !is_lazy_top_level_function); |
@@ -2721,10 +2716,9 @@ FunctionLiteral* Parser::ParseFunctionLiteral( |
// Note that the FunctionLiteral needs to be created in the main Zone again. |
FunctionLiteral* function_literal = factory()->NewFunctionLiteral( |
- function_name, scope, body, materialized_literal_count, |
- expected_property_count, num_parameters, function_length, |
- duplicate_parameters, function_type, eager_compile_hint, pos, true, |
- function_literal_id); |
+ function_name, scope, body, expected_property_count, num_parameters, |
+ function_length, duplicate_parameters, function_type, eager_compile_hint, |
+ pos, true, function_literal_id); |
function_literal->set_function_token_position(function_token_pos); |
if (should_be_used_once_hint) |
function_literal->set_should_be_used_once_hint(); |
@@ -2739,8 +2733,8 @@ FunctionLiteral* Parser::ParseFunctionLiteral( |
Parser::LazyParsingResult Parser::SkipFunction( |
FunctionKind kind, DeclarationScope* function_scope, int* num_parameters, |
int* function_length, bool* has_duplicate_parameters, |
- int* materialized_literal_count, int* expected_property_count, |
- bool is_inner_function, bool may_abort, bool* ok) { |
+ int* expected_property_count, bool is_inner_function, bool may_abort, |
+ bool* ok) { |
DCHECK_NE(kNoSourcePosition, function_scope->start_position()); |
if (produce_cached_parse_data()) CHECK(log_); |
@@ -2766,7 +2760,6 @@ Parser::LazyParsingResult Parser::SkipFunction( |
*num_parameters = entry.num_parameters(); |
*function_length = entry.function_length(); |
*has_duplicate_parameters = entry.has_duplicate_parameters(); |
- *materialized_literal_count = entry.literal_count(); |
*expected_property_count = entry.property_count(); |
SetLanguageMode(function_scope, entry.language_mode()); |
if (entry.uses_super_property()) |
@@ -2824,7 +2817,6 @@ Parser::LazyParsingResult Parser::SkipFunction( |
*num_parameters = logger->num_parameters(); |
*function_length = logger->function_length(); |
*has_duplicate_parameters = logger->has_duplicate_parameters(); |
- *materialized_literal_count = logger->literals(); |
*expected_property_count = logger->properties(); |
SkipFunctionLiterals(logger->num_inner_functions()); |
if (!is_inner_function && produce_cached_parse_data()) { |
@@ -2832,7 +2824,7 @@ Parser::LazyParsingResult Parser::SkipFunction( |
log_->LogFunction( |
function_scope->start_position(), function_scope->end_position(), |
*num_parameters, *function_length, *has_duplicate_parameters, |
- *materialized_literal_count, *expected_property_count, language_mode(), |
+ *expected_property_count, language_mode(), |
function_scope->uses_super_property(), function_scope->calls_eval(), |
logger->num_inner_functions()); |
} |
@@ -3111,8 +3103,7 @@ ZoneList<Statement*>* Parser::ParseFunction( |
const AstRawString* function_name, int pos, FunctionKind kind, |
FunctionLiteral::FunctionType function_type, |
DeclarationScope* function_scope, int* num_parameters, int* function_length, |
- bool* has_duplicate_parameters, int* materialized_literal_count, |
- int* expected_property_count, bool* ok) { |
+ bool* has_duplicate_parameters, int* expected_property_count, bool* ok) { |
ParsingModeScope mode(this, allow_lazy_ ? PARSE_LAZILY : PARSE_EAGERLY); |
FunctionState function_state(&function_state_, &scope_state_, function_scope); |
@@ -3150,7 +3141,6 @@ ZoneList<Statement*>* Parser::ParseFunction( |
*has_duplicate_parameters = |
!classifier()->is_valid_formal_parameter_list_without_duplicates(); |
- *materialized_literal_count = function_state.materialized_literal_count(); |
*expected_property_count = function_state.expected_property_count(); |
return body; |
} |
@@ -3516,10 +3506,6 @@ Expression* Parser::CloseTemplateLiteral(TemplateLiteralState* state, int start, |
} else { |
uint32_t hash = ComputeTemplateLiteralHash(lit); |
- // cooked and raw indexes. |
- function_state_->NextMaterializedLiteralIndex(); |
- function_state_->NextMaterializedLiteralIndex(); |
- |
// $getTemplateCallSite |
ZoneList<Expression*>* args = new (zone()) ZoneList<Expression*>(4, zone()); |
args->Add(factory()->NewArrayLiteral( |
@@ -3624,7 +3610,6 @@ ZoneList<Expression*>* Parser::PrepareSpreadArguments( |
while (i < n && !list->at(i)->IsSpread()) { |
unspread->Add(list->at(i++), zone()); |
} |
- function_state_->NextMaterializedLiteralIndex(); |
args->Add(factory()->NewArrayLiteral(unspread, kNoSourcePosition), |
zone()); |