summaryrefslogtreecommitdiffstats
path: root/js/xpconnect/src
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-03-21 09:53:24 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-03-21 09:53:24 +0100
commit890bb438b000821586c076ed8f880e95ea03f075 (patch)
tree297e11dfda4adf5568ffb7668d78f4a282b7773d /js/xpconnect/src
parent85e33523c3683fdb8a3fd45f8c317fb30d8ca8a4 (diff)
downloadUXP-890bb438b000821586c076ed8f880e95ea03f075.tar
UXP-890bb438b000821586c076ed8f880e95ea03f075.tar.gz
UXP-890bb438b000821586c076ed8f880e95ea03f075.tar.lz
UXP-890bb438b000821586c076ed8f880e95ea03f075.tar.xz
UXP-890bb438b000821586c076ed8f880e95ea03f075.zip
Pref the use of unboxed plain objects in JS and disable by default.
This should be all that's needed for #1017, but verification of impact is definitely desired.
Diffstat (limited to 'js/xpconnect/src')
-rw-r--r--js/xpconnect/src/XPCJSContext.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/js/xpconnect/src/XPCJSContext.cpp b/js/xpconnect/src/XPCJSContext.cpp
index 0243d80e3..bde949a96 100644
--- a/js/xpconnect/src/XPCJSContext.cpp
+++ b/js/xpconnect/src/XPCJSContext.cpp
@@ -1427,6 +1427,8 @@ ReloadPrefsCallback(const char* pref, void* data)
bool extraWarnings = Preferences::GetBool(JS_OPTIONS_DOT_STR "strict");
+ bool unboxedObjects = Preferences::GetBool(JS_OPTIONS_DOT_STR "unboxed_objects");
+
sSharedMemoryEnabled = Preferences::GetBool(JS_OPTIONS_DOT_STR "shared_memory");
#ifdef DEBUG
@@ -1455,6 +1457,8 @@ ReloadPrefsCallback(const char* pref, void* data)
useBaselineEager ? 0 : -1);
JS_SetGlobalJitCompilerOption(cx, JSJITCOMPILER_ION_WARMUP_TRIGGER,
useIonEager ? 0 : -1);
+ JS_SetGlobalJitCompilerOption(cx, JSJITCOMPILER_UNBOXED_OBJECTS,
+ unboxedObjects);
}
XPCJSContext::~XPCJSContext()