Bug 1802525 - Do not perform serialization in GiveUpBytecodeEncoding. r=nbp

Differential Revision: https://phabricator.services.mozilla.com/D163424
This commit is contained in:
Tooru Fujisawa
2022-12-01 09:28:47 +00:00
parent a7bac58a20
commit 2f71cc1d38
5 changed files with 22 additions and 8 deletions

View File

@@ -2653,20 +2653,14 @@ void ScriptLoader::GiveUpBytecodeEncoding() {
MOZ_ASSERT(!IsWebExtensionRequest(request));
if (aes.isSome()) {
bool result;
if (request->IsModuleRequest()) {
ModuleScript* moduleScript = request->AsModuleRequest()->mModuleScript;
JS::Rooted<JSObject*> module(aes->cx(), moduleScript->ModuleRecord());
result = JS::FinishIncrementalEncoding(aes->cx(), module,
request->mScriptBytecode);
JS::AbortIncrementalEncoding(module);
} else {
JS::Rooted<JSScript*> script(aes->cx(),
request->mScriptForBytecodeEncoding);
result = JS::FinishIncrementalEncoding(aes->cx(), script,
request->mScriptBytecode);
}
if (!result) {
JS_ClearPendingException(aes->cx());
JS::AbortIncrementalEncoding(script);
}
}