summaryrefslogtreecommitdiffstats
path: root/js/src/jscompartment.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-08-18 16:25:15 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-08-18 16:26:16 +0200
commit202296d02aa99afa90581333ab059c050b9c3ade (patch)
tree6ed8a1289bed1bb06d2703ea77cba5fccd3bdffa /js/src/jscompartment.cpp
parent1530f48c27fb13d7cbd2708c9f0fcf2dabc6ed6a (diff)
parentab6242a93b849b0a3c7525b16bc01dd3172fc167 (diff)
downloadUXP-202296d02aa99afa90581333ab059c050b9c3ade.tar
UXP-202296d02aa99afa90581333ab059c050b9c3ade.tar.gz
UXP-202296d02aa99afa90581333ab059c050b9c3ade.tar.lz
UXP-202296d02aa99afa90581333ab059c050b9c3ade.tar.xz
UXP-202296d02aa99afa90581333ab059c050b9c3ade.zip
Pull Basilisk-release forward.
Diffstat (limited to 'js/src/jscompartment.cpp')
-rw-r--r--js/src/jscompartment.cpp15
1 files changed, 4 insertions, 11 deletions
diff --git a/js/src/jscompartment.cpp b/js/src/jscompartment.cpp
index a48bb0ffe..d0caeb558 100644
--- a/js/src/jscompartment.cpp
+++ b/js/src/jscompartment.cpp
@@ -112,13 +112,6 @@ JSCompartment::~JSCompartment()
js_delete(nonSyntacticLexicalEnvironments_),
js_free(enumerators);
-#ifdef DEBUG
- // Avoid assertion destroying the unboxed layouts list if the embedding
- // leaked GC things.
- if (!rt->gc.shutdownCollectedEverything())
- unboxedLayouts.clear();
-#endif
-
runtime_->numCompartments--;
}
@@ -1082,18 +1075,18 @@ CreateLazyScriptsForCompartment(JSContext* cx)
// Create scripts for each lazy function, updating the list of functions to
// process with any newly exposed inner functions in created scripts.
// A function cannot be delazified until its outer script exists.
+ RootedFunction fun(cx);
for (size_t i = 0; i < lazyFunctions.length(); i++) {
- JSFunction* fun = &lazyFunctions[i]->as<JSFunction>();
+ fun = &lazyFunctions[i]->as<JSFunction>();
// lazyFunctions may have been populated with multiple functions for
// a lazy script.
if (!fun->isInterpretedLazy())
continue;
- LazyScript* lazy = fun->lazyScript();
- bool lazyScriptHadNoScript = !lazy->maybeScript();
+ bool lazyScriptHadNoScript = !fun->lazyScript()->maybeScript();
- JSScript* script = fun->getOrCreateScript(cx);
+ JSScript* script = JSFunction::getOrCreateScript(cx, fun);
if (!script)
return false;
if (lazyScriptHadNoScript && !AddInnerLazyFunctionsFromScript(script, lazyFunctions))