From df0cb9999ff0574c6476b29f0610c7ca69d3ae1f Mon Sep 17 00:00:00 2001 From: marja Date: Thu, 12 Feb 2015 05:02:30 -0800 Subject: [PATCH] Parsing: Make Parser not know about Isolate during background parsing. Parser must be able to operate independent of Isolate and the V8 heap during parsing. After the heap-independent phase, there is a heap dependent phase, during which we internalize strings, handle errors, etc. This makes Isolate (also via CompilationInfo) unaccessible during parsing, and thus decreases the probability of accidental code changes which would add heap-dependent operations into the heap-independent phase. Since Isolate is also accessible via CompilationInfo, now CompilationInfo is only passed to the entry points of parsing, and not stored in Parser. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/908173003 Cr-Commit-Position: refs/heads/master@{#26612} --- src/api.cc | 4 +- src/background-parsing-task.cc | 2 +- src/compiler.cc | 8 +- src/parser.cc | 205 ++++++++++++--------- src/parser.h | 35 ++-- src/preparser.h | 17 +- src/runtime/runtime-debug.cc | 4 +- src/runtime/runtime-internal.cc | 4 +- test/cctest/compiler/function-tester.h | 4 +- test/cctest/compiler/test-codegen-deopt.cc | 2 +- .../compiler/test-loop-assignment-analysis.cc | 2 +- test/cctest/test-parsing.cc | 48 +++-- tools/parser-shell.cc | 4 +- 13 files changed, 176 insertions(+), 163 deletions(-) diff --git a/src/api.cc b/src/api.cc index f2fffa2..ec9978e 100644 --- a/src/api.cc +++ b/src/api.cc @@ -1727,8 +1727,8 @@ Local