Bug 1505574 - Unhook Unboxed Objects option and disable by default r=iain
authorMatthew Gaudet <mgaudet@mozilla.com>
Fri, 22 Mar 2019 15:31:27 +0000
changeset 465707 0330a759e3997109d66bc8bc315d244a1c06e8e3
parent 465706 d9708fb342243b7459321e4a773bac1e448c59ee
child 465708 4e8e9a0b6c694ae85b6aad32725f4392b4eee80e
push id35746
push usershindli@mozilla.com
push dateSat, 23 Mar 2019 09:46:24 +0000
treeherdermozilla-central@02b7484f316b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersiain
bugs1505574
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1505574 - Unhook Unboxed Objects option and disable by default r=iain Differential Revision: https://phabricator.services.mozilla.com/D24036
js/src/jit/JitOptions.cpp
js/src/jsapi.cpp
js/src/shell/js.cpp
--- a/js/src/jit/JitOptions.cpp
+++ b/js/src/jit/JitOptions.cpp
@@ -243,17 +243,17 @@ DefaultJitOptions::DefaultJitOptions() {
   SET_DEFAULT(spectreObjectMitigationsBarriers, true);
   SET_DEFAULT(spectreObjectMitigationsMisc, true);
   SET_DEFAULT(spectreStringMitigations, true);
   SET_DEFAULT(spectreValueMasking, true);
   SET_DEFAULT(spectreJitToCxxCalls, true);
 #endif
 
   // Toggles whether unboxed plain objects can be created by the VM.
-  SET_DEFAULT(disableUnboxedObjects, false);
+  SET_DEFAULT(disableUnboxedObjects, true);
 
   // Toggles the optimization whereby offsets are folded into loads and not
   // included in the bounds check.
   SET_DEFAULT(wasmFoldOffsets, true);
 
   // Controls whether two-tiered compilation should be requested when
   // compiling a new wasm module, independently of other heuristics, and
   // should be delayed to test both baseline and ion paths in compiled code,
--- a/js/src/jsapi.cpp
+++ b/js/src/jsapi.cpp
@@ -5557,19 +5557,16 @@ JS_PUBLIC_API void JS_SetGlobalJitCompil
         jit::DefaultJitOptions defaultValues;
         value = defaultValues.jumpThreshold;
       }
       jit::JitOptions.jumpThreshold = value;
       break;
     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;
     case JSJITCOMPILER_SPECTRE_OBJECT_MITIGATIONS_BARRIERS:
       jit::JitOptions.spectreObjectMitigationsBarriers = !!value;
       break;
     case JSJITCOMPILER_SPECTRE_OBJECT_MITIGATIONS_MISC:
       jit::JitOptions.spectreObjectMitigationsMisc = !!value;
--- a/js/src/shell/js.cpp
+++ b/js/src/shell/js.cpp
@@ -10203,20 +10203,16 @@ static bool SetContextOptions(JSContext*
 #ifdef ENABLE_WASM_GC
       .setWasmGc(enableWasmGc)
 #endif
       .setWasmVerbose(enableWasmVerbose)
       .setTestWasmAwaitTier2(enableTestWasmAwaitTier2)
       .setNativeRegExp(enableNativeRegExp)
       .setAsyncStack(enableAsyncStacks);
 
-  if (op.getBoolOption("no-unboxed-objects")) {
-    jit::JitOptions.disableUnboxedObjects = true;
-  }
-
   if (const char* str = op.getStringOption("cache-ir-stubs")) {
     if (strcmp(str, "on") == 0) {
       jit::JitOptions.disableCacheIR = false;
       jit::JitOptions.disableCacheIRCalls = true;
     } else if (strcmp(str, "off") == 0) {
       jit::JitOptions.disableCacheIR = true;
     } else if (strcmp(str, "call") == 0) {
       jit::JitOptions.disableCacheIR = false;