1016e6257d
In d8 a script is executed in a RealmScope. However, all micro task which are created by the script are not executed within the RealmScope at the moment. With this CL I move the execution of the micro task into the RealmScope. I thought about creating a new RealmScope for the micro tasks, but (1) It did not fix the crashing repro; (2) It seems wrong that the micro tasks are executed in a different realm than the script; Therefore I just moved the execution of the micro tasks into the RealmScope of the script. Thereby I moved the execution tasks also into the Context::Scope of the script. The problem is that the Context::Scope surrounds the RealmScope, and when I to open the RealmScope before the Context::Scope, not even the execution of the script works anymore. R=yangguo@chromium.org Bug: chromium:797846 Change-Id: If152af282beec8f0b0564dcc9682fee8588e142c Reviewed-on: https://chromium-review.googlesource.com/856497 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50442}
15 lines
534 B
JavaScript
15 lines
534 B
JavaScript
// Copyright 2017 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
load('test/mjsunit/wasm/wasm-constants.js');
|
|
load('test/mjsunit/wasm/wasm-module-builder.js');
|
|
|
|
// We need a module with one valid function.
|
|
const builder = new WasmModuleBuilder();
|
|
builder.addFunction('test', kSig_v_v).addBody([]);
|
|
|
|
const buffer = builder.toBuffer();
|
|
assertPromiseResult(
|
|
WebAssembly.compile(buffer), _ => Realm.createAllowCrossRealmAccess());
|