Make isolate explicit param of ParseHandleScope ctor

A step towards removing isolate from ParseInfo.
Removing isolate from ParseInfo will make it easier to create and
execute parse tasks on background threads.

BUG=v8:6093

Change-Id: I2a3a8a02d791d7ae6acc2243e2f430defc3be5ea
Reviewed-on: https://chromium-review.googlesource.com/458002
Commit-Queue: Wiktor Garbacz <wiktorg@google.com>
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44097}
This commit is contained in:
Wiktor Garbacz 2017-03-22 15:52:19 +01:00 committed by Commit Bot
parent 1ef7fcad8e
commit f12b193df9

View File

@ -44,8 +44,8 @@ namespace internal {
// underlying DeferredHandleScope and stores them in info_ on destruction.
class ParseHandleScope final {
public:
explicit ParseHandleScope(ParseInfo* info)
: deferred_(info->isolate()), info_(info) {}
explicit ParseHandleScope(ParseInfo* info, Isolate* isolate)
: deferred_(isolate), info_(info) {}
~ParseHandleScope() { info_->set_deferred_handles(deferred_.Detach()); }
private:
@ -682,7 +682,7 @@ MUST_USE_RESULT MaybeHandle<Code> GetUnoptimizedCode(
}
if (inner_function_mode == Compiler::CONCURRENT) {
ParseHandleScope parse_handles(info->parse_info());
ParseHandleScope parse_handles(info->parse_info(), info->isolate());
info->parse_info()->ReopenHandlesInNewHandleScope();
info->parse_info()->ast_value_factory()->Internalize(info->isolate());
}
@ -1211,7 +1211,7 @@ Handle<SharedFunctionInfo> CompileToplevel(CompilationInfo* info) {
}
{
ParseHandleScope parse_handles(parse_info);
ParseHandleScope parse_handles(parse_info, info->isolate());
parse_info->ReopenHandlesInNewHandleScope();
parse_info->ast_value_factory()->Internalize(info->isolate());
}