Bug 1898677 - Cache the result of bytecode encoding condition. r=nbp

Differential Revision: https://phabricator.services.mozilla.com/D211517
This commit is contained in:
Tooru Fujisawa
2024-05-27 06:31:16 +00:00
parent 8712348c9d
commit 6e5b7d5d1b
6 changed files with 73 additions and 41 deletions

View File

@@ -181,21 +181,14 @@ void ScriptLoadRequest::SetPendingFetchingError() {
mState = State::PendingFetchingError;
}
void ScriptLoadRequest::MarkForBytecodeEncoding(JSScript* aScript) {
void ScriptLoadRequest::MarkScriptForBytecodeEncoding(JSScript* aScript) {
MOZ_ASSERT(!IsModuleRequest());
MOZ_ASSERT(!IsMarkedForBytecodeEncoding());
MOZ_ASSERT(!mScriptForBytecodeEncoding);
MarkForBytecodeEncoding();
mScriptForBytecodeEncoding = aScript;
HoldJSObjects(this);
}
bool ScriptLoadRequest::IsMarkedForBytecodeEncoding() const {
if (IsModuleRequest()) {
return AsModuleRequest()->IsModuleMarkedForBytecodeEncoding();
}
return !!mScriptForBytecodeEncoding;
}
static bool IsInternalURIScheme(nsIURI* uri) {
return uri->SchemeIs("moz-extension") || uri->SchemeIs("resource") ||
uri->SchemeIs("chrome");