Bug 1525579 - Add pref for unboxed objects r=jandem

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

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Matthew Gaudet 2019-02-07 11:29:52 +00:00
Родитель 67b24cb647
Коммит 262f5f5583
4 изменённых файлов: 11 добавлений и 0 удалений

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

@ -5565,6 +5565,9 @@ JS_PUBLIC_API void JS_SetGlobalJitCompilerOption(JSContext* cx,
case JSJITCOMPILER_TRACK_OPTIMIZATIONS:
jit::JitOptions.disableOptimizationTracking = !value;
break;
case JSJITCOMPILER_UNBOXED_OBJECTS:
jit::JitOptions.disableUnboxedObjects = !value;
break;
case JSJITCOMPILER_SPECTRE_INDEX_MASKING:
jit::JitOptions.spectreIndexMasking = !!value;
break;

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

@ -3393,6 +3393,7 @@ extern JS_PUBLIC_API void JS_SetOffthreadIonCompilationEnabled(JSContext* cx,
Register(FULL_DEBUG_CHECKS, "jit.full-debug-checks") \
Register(JUMP_THRESHOLD, "jump-threshold") \
Register(TRACK_OPTIMIZATIONS, "jit.track-optimizations")\
Register(UNBOXED_OBJECTS, "unboxed_objects") \
Register(SIMULATOR_ALWAYS_INTERRUPT, "simulator.always-interrupt") \
Register(SPECTRE_INDEX_MASKING, "spectre.index-masking") \
Register(SPECTRE_OBJECT_MITIGATIONS_BARRIERS, "spectre.object-mitigations.barriers") \

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

@ -837,6 +837,9 @@ static void ReloadPrefsCallback(const char* pref, XPCJSContext* xpccx) {
bool spectreJitToCxxCalls =
Preferences::GetBool(JS_OPTIONS_DOT_STR "spectre.jit_to_C++_calls");
bool unboxedObjects =
Preferences::GetBool(JS_OPTIONS_DOT_STR "unboxed_objects");
sSharedMemoryEnabled =
Preferences::GetBool(JS_OPTIONS_DOT_STR "shared_memory");
sStreamsEnabled = Preferences::GetBool(JS_OPTIONS_DOT_STR "streams");
@ -922,6 +925,9 @@ static void ReloadPrefsCallback(const char* pref, XPCJSContext* xpccx) {
spectreValueMasking);
JS_SetGlobalJitCompilerOption(cx, JSJITCOMPILER_SPECTRE_JIT_TO_CXX_CALLS,
spectreJitToCxxCalls);
JS_SetGlobalJitCompilerOption(cx, JSJITCOMPILER_UNBOXED_OBJECTS,
unboxedObjects);
}
XPCJSContext::~XPCJSContext() {

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

@ -1458,6 +1458,7 @@ pref("javascript.options.strict", false);
#ifdef DEBUG
pref("javascript.options.strict.debug", false);
#endif
pref("javascript.options.unboxed_objects", true);
pref("javascript.options.baselinejit", true);
//Duplicated in JitOptions - ensure both match.
pref("javascript.options.baselinejit.threshold", 10);