| Index: src/compiler.cc
|
| diff --git a/src/compiler.cc b/src/compiler.cc
|
| index 1ccf5c2a394cb125b09e9c20549dab38d2b662b1..7b8adac35853e81da114fc5500176fe5382fb005 100644
|
| --- a/src/compiler.cc
|
| +++ b/src/compiler.cc
|
| @@ -251,16 +251,6 @@ void CompilationJob::RegisterWeakObjectsInOptimizedCode(Handle<Code> code) {
|
|
|
| namespace {
|
|
|
| -bool Parse(ParseInfo* info) {
|
| - // Create a canonical handle scope if compiling ignition bytecode. This is
|
| - // required by the constant array builder to de-duplicate objects without
|
| - // dereferencing handles.
|
| - std::unique_ptr<CanonicalHandleScope> canonical;
|
| - if (FLAG_ignition) canonical.reset(new CanonicalHandleScope(info->isolate()));
|
| -
|
| - return Parser::ParseStatic(info);
|
| -}
|
| -
|
| void RecordFunctionCompilation(CodeEventListener::LogEventsAndTags tag,
|
| CompilationInfo* info) {
|
| // Log the code generation. If source information is available include
|
| @@ -439,7 +429,7 @@ MUST_USE_RESULT MaybeHandle<Code> GetUnoptimizedCode(CompilationInfo* info) {
|
| PostponeInterruptsScope postpone(info->isolate());
|
|
|
| // Parse and update CompilationInfo with the results.
|
| - if (!Parse(info->parse_info())) return MaybeHandle<Code>();
|
| + if (!Parser::ParseStatic(info->parse_info())) return MaybeHandle<Code>();
|
| DCHECK_EQ(info->shared_info()->language_mode(),
|
| info->literal()->language_mode());
|
|
|
| @@ -492,14 +482,6 @@ void InsertCodeIntoOptimizedCodeMap(CompilationInfo* info) {
|
| }
|
|
|
| bool Renumber(ParseInfo* parse_info) {
|
| - // Create a canonical handle scope if compiling ignition bytecode. This is
|
| - // required by the constant array builder to de-duplicate objects without
|
| - // dereferencing handles.
|
| - std::unique_ptr<CanonicalHandleScope> canonical;
|
| - if (FLAG_ignition) {
|
| - canonical.reset(new CanonicalHandleScope(parse_info->isolate()));
|
| - }
|
| -
|
| if (!AstNumbering::Renumber(parse_info->isolate(), parse_info->zone(),
|
| parse_info->literal())) {
|
| return false;
|
| @@ -926,7 +908,7 @@ MaybeHandle<Code> GetBaselineCode(Handle<JSFunction> function) {
|
| }
|
|
|
| // Parse and update CompilationInfo with the results.
|
| - if (!Parse(info.parse_info())) return MaybeHandle<Code>();
|
| + if (!Parser::ParseStatic(info.parse_info())) return MaybeHandle<Code>();
|
| Handle<SharedFunctionInfo> shared = info.shared_info();
|
| DCHECK_EQ(shared->language_mode(), info.literal()->language_mode());
|
|
|
| @@ -1054,7 +1036,7 @@ Handle<SharedFunctionInfo> CompileToplevel(CompilationInfo* info) {
|
| Handle<SharedFunctionInfo> result;
|
|
|
| { VMState<COMPILER> state(info->isolate());
|
| - if (parse_info->literal() == nullptr && !Parse(parse_info)) {
|
| + if (parse_info->literal() == nullptr && !Parser::ParseStatic(parse_info)) {
|
| return Handle<SharedFunctionInfo>::null();
|
| }
|
|
|
| @@ -1118,7 +1100,7 @@ bool Compiler::Analyze(ParseInfo* info) {
|
| }
|
|
|
| bool Compiler::ParseAndAnalyze(ParseInfo* info) {
|
| - if (!Parse(info)) return false;
|
| + if (!Parser::ParseStatic(info)) return false;
|
| if (!Compiler::Analyze(info)) return false;
|
| DCHECK_NOT_NULL(info->literal());
|
| DCHECK_NOT_NULL(info->scope());
|
| @@ -1708,6 +1690,10 @@ Handle<SharedFunctionInfo> Compiler::GetSharedFunctionInfo(
|
| parse_info.set_literal(literal);
|
| parse_info.set_shared_info(result);
|
| parse_info.set_language_mode(literal->scope()->language_mode());
|
| + parse_info.set_ast_value_factory(
|
| + outer_info->parse_info()->ast_value_factory());
|
| + parse_info.set_ast_value_factory_owned(false);
|
| +
|
| if (outer_info->will_serialize()) info.PrepareForSerializing();
|
| if (outer_info->is_debug()) info.MarkAsDebug();
|
|
|
|
|