Bug 1607930 - Enable deferred allocation mode by default r=tcampbell

Differential Revision: https://phabricator.services.mozilla.com/D59366

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Matthew Gaudet 2020-01-09 17:14:09 +00:00
Родитель 0afeeb787d
Коммит 87bb94fabc
5 изменённых файлов: 10 добавлений и 10 удалений

Просмотреть файл

@ -312,7 +312,7 @@ class JS_PUBLIC_API RealmBehaviors {
// singleton, instead of returning the value which is baked in the JSScript.
bool singletonsAsTemplates_ = true;
bool isNonLive_ = false;
bool deferredParserAlloc_ = false;
bool deferredParserAlloc_ = true;
};
/**

Просмотреть файл

@ -50,7 +50,6 @@
--nursery-strings=on
--nursery-bigints=off
--nursery-bigints=on
--parser-deferred-alloc
--spectre-mitigations=off
--spectre-mitigations=on
--more-compartments

Просмотреть файл

@ -472,7 +472,7 @@ struct MOZ_STACK_CLASS EnvironmentPreparer
void invoke(JS::HandleObject global, Closure& closure) override;
};
bool shell::enableDeferredMode = false;
bool shell::enableDeferredMode = true;
bool shell::enableCodeCoverage = false;
bool shell::enableDisassemblyDumps = false;
bool shell::offthreadCompilation = false;
@ -11107,8 +11107,9 @@ int main(int argc, char** argv, char** envp) {
"Print sub-ms runtime for each file that's run") ||
!op.addBoolOption('\0', "code-coverage",
"Enable code coverage instrumentation.") ||
!op.addBoolOption('\0', "parser-deferred-alloc",
"Defer allocation of GC objects until after parser") ||
!op.addBoolOption(
'\0', "disable-parser-deferred-alloc",
"Disable deferred allocation of GC objects until after parser") ||
#ifdef DEBUG
!op.addBoolOption('O', "print-alloc",
"Print the number of allocations at exit") ||
@ -11431,8 +11432,8 @@ int main(int argc, char** argv, char** envp) {
coverage::EnableLCov();
}
enableDeferredMode = op.getBoolOption("parser-deferred-alloc") ||
getenv("PARSER_DEFERRED_ALLOC") != nullptr;
enableDeferredMode = !op.getBoolOption("disable-parser-deferred-alloc") &&
getenv("DISABLE_PARSER_DEFERRED_ALLOC") == nullptr;
#ifdef JS_WITHOUT_NSPR
if (!op.getMultiStringOption("dll").empty()) {

Просмотреть файл

@ -2591,8 +2591,8 @@ GlobalObject* JSRuntime::createSelfHostingGlobal(JSContext* cx) {
options.creationOptions().setInvisibleToDebugger(true);
options.behaviors().setDiscardSource(true);
bool enableDeferredMode = getenv("PARSER_DEFERRED_ALLOC") != nullptr;
options.behaviors().setDeferredParserAlloc(enableDeferredMode);
bool disableDeferredMode = getenv("DISABLE_PARSER_DEFERRED_ALLOC") != nullptr;
options.behaviors().setDeferredParserAlloc(!disableDeferredMode);
Realm* realm = NewRealm(cx, nullptr, options);
if (!realm) {

Просмотреть файл

@ -4159,7 +4159,7 @@
# Defer allocation of GC objects as late as possible in a parse
- name: javascript.options.parser_defer_allocation
type: RelaxedAtomicBool
value: false
value: true
mirror: always
- name: javascript.options.experimental.fields