Index: src/compiler.cc |
diff --git a/src/compiler.cc b/src/compiler.cc |
index 795b0199bd9aa291e7e057979656b867983bec03..502d0ea8bd9bca6fda84c780128edc7efcf9920e 100644 |
--- a/src/compiler.cc |
+++ b/src/compiler.cc |
@@ -540,9 +540,8 @@ MUST_USE_RESULT MaybeHandle<Code> GetUnoptimizedCode(CompilationInfo* info) { |
VMState<COMPILER> state(info->isolate()); |
PostponeInterruptsScope postpone(info->isolate()); |
- // Create a canonical handle scope if compiling ignition bytecode. This is |
- // required by the constant array builder to de-duplicate common objects |
- // without dereferencing handles. |
+ // Create a canonical handle scope before internalizing parsed values if |
+ // compiling bytecode. This is required for off-thread bytecode generation. |
std::unique_ptr<CanonicalHandleScope> canonical; |
if (FLAG_ignition) canonical.reset(new CanonicalHandleScope(info->isolate())); |
@@ -1074,9 +1073,8 @@ Handle<SharedFunctionInfo> CompileToplevel(CompilationInfo* info) { |
ParseInfo* parse_info = info->parse_info(); |
Handle<Script> script = parse_info->script(); |
- // Create a canonical handle scope if compiling ignition bytecode. This is |
- // required by the constant array builder to de-duplicate common objects |
- // without dereferencing handles. |
+ // Create a canonical handle scope before internalizing parsed values if |
+ // compiling bytecode. This is required for off-thread bytecode generation. |
std::unique_ptr<CanonicalHandleScope> canonical; |
if (FLAG_ignition) canonical.reset(new CanonicalHandleScope(isolate)); |