summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorGaming4JC <g4jc@hyperbola.info>2019-07-13 23:10:10 -0400
committerGaming4JC <g4jc@hyperbola.info>2019-07-18 22:38:42 -0400
commit7b1c6a022c4c0606b1b75e492a256ae7f4af305d (patch)
treefc625bace8afe6f5da4a310045b3fcf82222b7c8 /js
parent92ca89f5f791656b593596e0ce992cf1e1e42b41 (diff)
downloadUXP-7b1c6a022c4c0606b1b75e492a256ae7f4af305d.tar
UXP-7b1c6a022c4c0606b1b75e492a256ae7f4af305d.tar.gz
UXP-7b1c6a022c4c0606b1b75e492a256ae7f4af305d.tar.lz
UXP-7b1c6a022c4c0606b1b75e492a256ae7f4af305d.tar.xz
UXP-7b1c6a022c4c0606b1b75e492a256ae7f4af305d.zip
Bug 1364573 - Don't relazify class default constructors.
Because of the wacko way we handle toString offsets for class default constructors, those offsets cannot be recovered if we relazify the functions. Luckily there's no reason to relazify them, their JSScripts are very small: either a single 'retrval' for non-derived, and still fairly small for derived.
Diffstat (limited to 'js')
-rw-r--r--js/src/jsscript.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/js/src/jsscript.h b/js/src/jsscript.h
index 23ad44718..85eb2938d 100644
--- a/js/src/jsscript.h
+++ b/js/src/jsscript.h
@@ -1494,6 +1494,7 @@ class JSScript : public js::gc::TenuredCell
bool isRelazifiable() const {
return (selfHosted() || lazyScript) && !hasInnerFunctions_ && !types_ &&
!isGenerator() && !hasBaselineScript() && !hasAnyIonScript() &&
+ !isDefaultClassConstructor() &&
!doNotRelazify_;
}
void setLazyScript(js::LazyScript* lazy) {