Bug 1734098 - Part 7: Add JS::CompileModuleToStencilOffThread. r=tcampbell

Differential Revision: https://phabricator.services.mozilla.com/D133048
This commit is contained in:
Tooru Fujisawa
2021-12-09 18:21:12 +00:00
parent e6420090d6
commit 05f5605a4e
9 changed files with 276 additions and 6 deletions

View File

@@ -250,7 +250,16 @@ nsresult ModuleLoader::CreateModuleScript(ModuleLoadRequest* aRequest) {
if (NS_SUCCEEDED(rv)) {
if (aRequest->mWasCompiledOMT) {
module = JS::FinishOffThreadModule(cx, aRequest->mOffThreadToken);
JS::Rooted<JS::InstantiationStorage> storage(cx);
RefPtr<JS::Stencil> stencil = JS::FinishCompileModuleToStencilOffThread(
cx, aRequest->mOffThreadToken, storage.address());
if (stencil) {
JS::InstantiateOptions instantiateOptions(options);
module = JS::InstantiateModuleStencil(cx, instantiateOptions, stencil,
storage.address());
}
aRequest->mOffThreadToken = nullptr;
rv = module ? NS_OK : NS_ERROR_FAILURE;
} else {