Bug 1423225 - Disable javascript.options.shared_memory. r=lth, r=jgraham, a=lizzard
authorLars T Hansen <lhansen@mozilla.com>
Wed, 08 Nov 2017 11:44:53 +0100
changeset 397663 2368bc8e65daba4232b31e607edc666d2f47a63b
parent 397662 2600d6f374131e3f95c9abcacb7d0f9d46143ec5
child 397664 c9bec96cc78978b5282185534d7e7c8c436e7822
push id98582
push userryanvm@gmail.com
push dateWed, 03 Jan 2018 23:01:25 +0000
treeherdermozilla-inbound@6f98c6b22ae6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerslth, jgraham, lizzard
bugs1423225
milestone59.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 1423225 - Disable javascript.options.shared_memory. r=lth, r=jgraham, a=lizzard
dom/tests/mochitest/general/test_interfaces.js
dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
dom/workers/test/test_worker_interfaces.js
js/src/shell/js.cpp
js/src/tests/jstests.list
js/xpconnect/tests/chrome/test_xrayToJS.xul
modules/libpref/init/all.js
testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/identity-not-preserved.html.ini
testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/nested-worker-success-dedicatedworker.html.ini
testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/nested-worker-success-sharedworker.html.ini
testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-transferring.html.ini
testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-success.sub.html.ini
testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-similar-but-cross-origin-success.sub.html.ini
testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-simple-success.html.ini
testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-dedicatedworker.html.ini
testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-serviceworker.https.html.ini
testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-sharedworker.html.ini
testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-window.html.ini
--- a/dom/tests/mochitest/general/test_interfaces.js
+++ b/dom/tests/mochitest/general/test_interfaces.js
@@ -22,17 +22,17 @@
 // See createInterfaceMap() below for a complete list of properties.
 
 // IMPORTANT: Do not change this list without review from
 //            a JavaScript Engine peer!
 var ecmaGlobals =
   [
     "Array",
     "ArrayBuffer",
-    "Atomics",
+    {name: "Atomics", disabled: true},
     "Boolean",
     {name: "ByteLengthQueuingStrategy", disabled: !SpecialPowers.Cu.getJSTestingFunctions().streamsAreEnabled()},
     {name: "CountQueuingStrategy", disabled: !SpecialPowers.Cu.getJSTestingFunctions().streamsAreEnabled()},
     "DataView",
     "Date",
     "Error",
     "EvalError",
     "Float32Array",
@@ -56,17 +56,17 @@ var ecmaGlobals =
     "Promise",
     "Proxy",
     "RangeError",
     {name: "ReadableStream", disabled: !SpecialPowers.Cu.getJSTestingFunctions().streamsAreEnabled()},
     "ReferenceError",
     "Reflect",
     "RegExp",
     "Set",
-    "SharedArrayBuffer",
+    {name: "SharedArrayBuffer", disabled: true},
     {name: "SIMD", nightly: true},
     "String",
     "Symbol",
     "SyntaxError",
     {name: "TypedObject", nightly: true},
     "TypeError",
     "Uint16Array",
     "Uint32Array",
--- a/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
+++ b/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
@@ -20,17 +20,17 @@
 // See createInterfaceMap() below for a complete list of properties.
 
 // IMPORTANT: Do not change this list without review from
 //            a JavaScript Engine peer!
 var ecmaGlobals =
   [
     "Array",
     "ArrayBuffer",
-    "Atomics",
+    {name: "Atomics", disabled: true},
     "Boolean",
     {name: "ByteLengthQueuingStrategy", optional: true},
     {name: "CountQueuingStrategy", optional: true},
     "DataView",
     "Date",
     "Error",
     "EvalError",
     "Float32Array",
@@ -51,17 +51,17 @@ var ecmaGlobals =
     "Promise",
     "Proxy",
     "RangeError",
     {name: "ReadableStream", optional: true},
     "ReferenceError",
     "Reflect",
     "RegExp",
     "Set",
-    "SharedArrayBuffer",
+    {name: "SharedArrayBuffer", disabled: true},
     {name: "SIMD", nightly: true},
     "String",
     "Symbol",
     "SyntaxError",
     {name: "TypedObject", nightly: true},
     "TypeError",
     "Uint16Array",
     "Uint32Array",
@@ -251,17 +251,18 @@ function createInterfaceMap(version, use
         interfaceMap[entry] = true;
       } else {
         ok(!("pref" in entry), "Bogus pref annotation for " + entry.name);
         if ((entry.nightly === !isNightly) ||
             (entry.nightlyAndroid === !(isAndroid && isNightly) && isAndroid) ||
             (entry.nonReleaseAndroid === !(isAndroid && !isRelease) && isAndroid) ||
             (entry.desktop === !isDesktop) ||
             (entry.android === !isAndroid && !entry.nonReleaseAndroid && !entry.nightlyAndroid) ||
-            (entry.release === !isRelease)) {
+            (entry.release === !isRelease) ||
+            entry.disabled) {
           interfaceMap[entry.name] = false;
         } else if (entry.optional) {
           interfaceMap[entry.name] = "optional";
         } else {
           interfaceMap[entry.name] = true;
         }
       }
     }
--- a/dom/workers/test/test_worker_interfaces.js
+++ b/dom/workers/test/test_worker_interfaces.js
@@ -20,17 +20,17 @@
 // See createInterfaceMap() below for a complete list of properties.
 
 // IMPORTANT: Do not change this list without review from
 //            a JavaScript Engine peer!
 var ecmaGlobals =
   [
     "Array",
     "ArrayBuffer",
-    "Atomics",
+    {name: "Atomics", disabled: true},
     "Boolean",
     {name: "ByteLengthQueuingStrategy", optional: true},
     {name: "CountQueuingStrategy", optional: true},
     "DataView",
     "Date",
     "Error",
     "EvalError",
     "Float32Array",
@@ -51,17 +51,17 @@ var ecmaGlobals =
     "Promise",
     "Proxy",
     "RangeError",
     {name: "ReadableStream", optional: true},
     "ReferenceError",
     "Reflect",
     "RegExp",
     "Set",
-    "SharedArrayBuffer",
+    {name: "SharedArrayBuffer", disabled: true},
     {name: "SIMD", nightly: true},
     "String",
     "Symbol",
     "SyntaxError",
     {name: "TypedObject", nightly: true},
     "TypeError",
     "Uint16Array",
     "Uint32Array",
--- a/js/src/shell/js.cpp
+++ b/js/src/shell/js.cpp
@@ -176,17 +176,17 @@ static const size_t gMaxStackSize = 128 
 #endif
 
 /*
  * Limit the timeout to 30 minutes to prevent an overflow on platfoms
  * that represent the time internally in microseconds using 32-bit int.
  */
 static const double MAX_TIMEOUT_SECONDS = 1800.0;
 
-// SharedArrayBuffer and Atomics are enabled by default (tracking Firefox).
+// Not necessarily in sync with the browser
 #define SHARED_MEMORY_DEFAULT 1
 
 // Code to support GCOV code coverage measurements on standalone shell
 #ifdef MOZ_CODE_COVERAGE
 #if defined(__GNUC__) && !defined(__clang__)
 extern "C" void __gcov_dump();
 extern "C" void __gcov_reset();
 
--- a/js/src/tests/jstests.list
+++ b/js/src/tests/jstests.list
@@ -472,8 +472,331 @@ skip script test262/harness/detachArrayB
 ####################################################
 # Tests disabled due to invalid test expectations  #
 ####################################################
 
 # https://github.com/tc39/test262/issues/1370
 skip script test262/language/expressions/bitwise-or/bigint-non-primitive.js
 skip script test262/language/expressions/bitwise-and/bigint-non-primitive.js
 skip script test262/language/expressions/bitwise-xor/bigint-non-primitive.js
+
+#############################################
+# Tests disabled when properties are absent #
+#############################################
+
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1415303
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/toindex-bytelength-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/return-abrupt-tonumber-bytelength-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/byteoffset-is-negative-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/negative-byteoffset-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/return-instance-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/defined-byteoffset-undefined-bytelength-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/buffer-does-not-have-arraybuffer-data-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/proto-from-ctor-realm-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/return-abrupt-tonumber-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/newtarget-undefined-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/negative-bytelength-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/excessive-bytelength-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/byteOffset/this-has-no-dataview-internal-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/byteOffset/return-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/buffer/this-has-no-dataview-internal-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/buffer/return-buffer-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/byteLength/return-bytelength-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/byteLength/this-has-no-dataview-internal-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/negative-byteoffset-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/this-has-no-dataview-internal-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/return-value-clean-arraybuffer-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/index-is-out-of-range-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/return-values-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/return-values-custom-offset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/to-boolean-littleendian-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-symbol-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/toindex-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/return-abrupt-tonumber-byteoffset-symbol-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/defined-bytelength-and-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/custom-proto-if-not-object-fallbacks-to-default-prototype-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/excessive-byteoffset-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/custom-proto-if-object-is-used-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/return-abrupt-tonumber-bytelength-symbol-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/toindex-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/instance-extensibility-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/defined-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/custom-proto-access-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/DataView/buffer-reference-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-conversions-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-same-type-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-same-type-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/init-zero.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype-from-newtarget.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/undefined-newtarget-throws.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/negative-length-throws.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/zero-length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/allocation-limit.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/length-is-absent.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/toindex-length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/length-is-too-large-throws.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/Symbol.toStringTag.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/constructor.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/this-is-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/return-bytelength.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/this-has-no-typedarrayname-internal.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/invoked-as-func.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/this-is-not-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/prop-desc.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/invoked-as-accessor.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/byteLength/name.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-is-null.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/context-is-not-arraybuffer-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/descriptor.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/tointeger-conversion-end.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/start-exceeds-end.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-returns-same-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/negative-end.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/this-is-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-is-not-constructor.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/start-default-if-undefined.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/context-is-not-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/extensible.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/start-exceeds-length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-undefined.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/tointeger-conversion-start.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-returns-smaller-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-not-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/end-default-if-undefined.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/number-conversion.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/negative-start.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/nonconstructor.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-returns-not-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/end-exceeds-length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/start-default-if-absent.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/end-default-if-absent.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-returns-larger-arraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-is-not-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/species-is-undefined.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/prototype/slice/name.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/return-abrupt-from-length.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/return-abrupt-from-length-symbol.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/data-allocation-after-object-creation.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/proto-from-ctor-realm.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/SharedArrayBuffer/newtarget-prototype-is-not-object.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/ArrayBuffer/prototype/byteLength/this-is-sharedarraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/ArrayBuffer/prototype/slice/this-is-sharedarraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/exchange/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/exchange/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/exchange/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/exchange/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/exchange/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/load/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/load/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/load/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/load/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/load/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/compareExchange/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/compareExchange/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/compareExchange/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/compareExchange/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/compareExchange/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/sub/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/sub/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/sub/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/sub/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/sub/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/xor/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/xor/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/xor/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/xor/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/xor/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/and/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/and/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/and/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/and/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/and/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/add/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/add/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/add/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/add/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/add/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/was-woken.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/no-spurious-wakeup.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/negative-timeout.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/did-timeout.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wait/nan-timeout.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-zero.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-all-on-loc.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-in-order.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/counts.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-one.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-nan.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-all.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-negative.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/wake/wake-two.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/or/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/or/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/or/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/or/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/or/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/store/shell.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/store/good-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/store/bad-range.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/store/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/Atomics/store/non-views.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-typedarray-backed-by-sharedarraybuffer.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-use-default-proto-if-custom-proto-is-not-object-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-excessive-offset-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-byteoffset-is-symbol-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-length-is-symbol-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-defined-length-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-invoked-with-undefined-newtarget-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-bufferbyteoffset-throws-from-modulo-element-size-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-length-access-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-use-custom-proto-if-object-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-defined-negative-length-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-toindex-bytelength-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-byteoffset-is-negative-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/internals/Get/indexed-value-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-is-referenced-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-defined-length-and-offset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-byteoffset-throws-from-modulo-element-size-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-defined-offset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-toindex-byteoffset-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-new-instance-extensibility-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-excessive-length-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-returns-new-instance-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-custom-proto-access-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-byteoffset-to-number-throws-sab.js
+skip-if(!this.hasOwnProperty("SharedArrayBuffer")) script test262/built-ins/TypedArrays/buffer-arg-byteoffset-is-negative-zero-sab.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/Symbol.toStringTag.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/exchange/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/load/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/compareExchange/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/sub/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/xor/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/and/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/add/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/was-woken.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/no-spurious-wakeup.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/negative-timeout.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/did-timeout.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/nan-timeout.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wait/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/isLockFree/value.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/isLockFree/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/isLockFree/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/isLockFree/corner-cases.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/isLockFree/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/prop-desc.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-zero.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-all-on-loc.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-in-order.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/counts.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-one.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-nan.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-all.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-negative.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/wake-two.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/wake/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/or/name.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/proto.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/shell.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/good-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/descriptor.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/length.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/bad-range.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/shared-nonint-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/non-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/nonshared-int-views.js
+skip-if(!this.hasOwnProperty("Atomics")) script test262/built-ins/Atomics/store/name.js
--- a/js/xpconnect/tests/chrome/test_xrayToJS.xul
+++ b/js/xpconnect/tests/chrome/test_xrayToJS.xul
@@ -253,18 +253,17 @@ https://bugzilla.mozilla.org/show_bug.cg
   gConstructorProperties['Promise'] =
     constructorProps(["resolve", "reject", "all", "race", Symbol.species]);
 
   gPrototypeProperties['ArrayBuffer'] =
     ["constructor", "byteLength", "slice", Symbol.toStringTag];
   gConstructorProperties['ArrayBuffer'] =
     constructorProps(["isView", Symbol.species]);
 
-  gPrototypeProperties['SharedArrayBuffer'] = ["constructor", "slice", "byteLength", Symbol.toStringTag];
-  gConstructorProperties['SharedArrayBuffer'] = constructorProps([Symbol.species]);
+  is(typeof SharedArrayBuffer, "undefined", "Enable tests!");
 
   gPrototypeProperties['Map'] =
     ["constructor", "size", Symbol.toStringTag, "get", "has", "set", "delete",
      "keys", "values", "clear", "forEach", "entries", Symbol.iterator];
   gConstructorProperties['Map'] =
     constructorProps([Symbol.species]);
 
   gPrototypeProperties['Set'] =
@@ -913,17 +912,17 @@ for (var prop of props) {
     is(Cu.getGlobalForObject(pr.wrappedJSObject.catch), iwin, "Underlying global is correct");
 
     isnot(pr.then, Cu.unwaiveXrays(pr.wrappedJSObject.then), "Different function identities");
     is(Cu.getGlobalForObject(pr.then), window, "Xray global is correct");
     is(Cu.getGlobalForObject(pr.wrappedJSObject.then), iwin, "Underlying global is correct");
   }
 
   function testArrayBuffer() {
-    let constructors = ['ArrayBuffer', 'SharedArrayBuffer'];
+    let constructors = ['ArrayBuffer'];
 
     for (const c of constructors) {
       testXray(c, new iwin[c](0), new iwin[c](12));
 
       var t = new iwin[c](12);
       is(t.byteLength, 12, `${c} byteLength is correct`);
 
       is(t.slice(4).byteLength, 8, `${c} byteLength is correct after slicing`);
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -1506,17 +1506,17 @@ pref("javascript.options.mem.gc_allocati
 // JSGC_MIN_EMPTY_CHUNK_COUNT
 pref("javascript.options.mem.gc_min_empty_chunk_count", 1);
 
 // JSGC_MAX_EMPTY_CHUNK_COUNT
 pref("javascript.options.mem.gc_max_empty_chunk_count", 30);
 
 pref("javascript.options.showInConsole", false);
 
-pref("javascript.options.shared_memory", true);
+pref("javascript.options.shared_memory", false);
 
 pref("javascript.options.throw_on_debuggee_would_run", false);
 pref("javascript.options.dump_stack_on_debuggee_would_run", false);
 
 // Streams API
 pref("javascript.options.streams", false);
 
 // advanced prefs
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/identity-not-preserved.html.ini
@@ -0,0 +1,11 @@
+[identity-not-preserved.html]
+  type: testharness
+
+  [postMessaging to this window does not give back the same SharedArrayBuffer (but does use the same backing block)]
+    expected: FAIL
+
+  [postMessaging to a worker and back does not give back the same SharedArrayBuffer]
+    expected: FAIL
+
+  [postMessaging to an iframe and back does not give back the same SharedArrayBuffer]
+    expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/nested-worker-success-dedicatedworker.html.ini
@@ -0,0 +1,5 @@
+[nested-worker-success-dedicatedworker.html]
+  type: testharness
+
+  [postMessaging to a dedicated sub-worker allows them to see each others' modifications]
+    expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/nested-worker-success-sharedworker.html.ini
@@ -0,0 +1,5 @@
+[nested-worker-success-sharedworker.html]
+  type: testharness
+
+  [postMessaging to a dedicated sub-worker allows them to see each others' modifications]
+    expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-transferring.html.ini
@@ -0,0 +1,11 @@
+[no-transferring.html]
+  type: testharness
+
+  [Trying to transfer a SharedArrayBuffer to this window throws]
+    expected: FAIL
+
+  [Trying to transfer a SharedArrayBuffer to a worker throws]
+    expected: FAIL
+
+  [Trying to transfer a SharedArrayBuffer through a MessagePort throws]
+    expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-success.sub.html.ini
@@ -0,0 +1,5 @@
+[window-domain-success.sub.html]
+  type: testharness
+
+  [postMessaging to a same-origin-domain (but not same-origin) iframe allows them to see each others' modifications]
+    expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-similar-but-cross-origin-success.sub.html.ini
@@ -0,0 +1,5 @@
+[window-similar-but-cross-origin-success.sub.html]
+  type: testharness
+
+  [postMessaging to a not same-origin-domain, but similar origin, iframe allows them to see each others' modifications]
+    expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-simple-success.html.ini
@@ -0,0 +1,41 @@
+[window-simple-success.html]
+  type: testharness
+
+  [postMessaging to a dedicated worker allows them to see each others' modifications with DataView]
+    expected: FAIL
+
+  [postMessaging to a dedicated worker allows them to see each others' modifications with Int8Array]
+    expected: FAIL
+
+  [postMessaging to a dedicated worker allows them to see each others' modifications with Uint8Array]
+    expected: FAIL
+
+  [postMessaging to a dedicated worker allows them to see each others' modifications with Uint8ClampedArray]
+    expected: FAIL
+
+  [postMessaging to a dedicated worker allows them to see each others' modifications with Int16Array]
+    expected: FAIL
+
+  [postMessaging to a dedicated worker allows them to see each others' modifications with Uint16Array]
+    expected: FAIL
+
+  [postMessaging to a dedicated worker allows them to see each others' modifications with Int32Array]
+    expected: FAIL
+
+  [postMessaging to a dedicated worker allows them to see each others' modifications with Uint32Array]
+    expected: FAIL
+
+  [postMessaging to a dedicated worker allows them to see each others' modifications with Float32Array]
+    expected: FAIL
+
+  [postMessaging to a dedicated worker allows them to see each others' modifications with Float64Array]
+    expected: FAIL
+
+  [postMessaging to a same-origin iframe allows them to see each others' modifications]
+    expected: FAIL
+
+  [postMessaging to a same-origin deeply-nested iframe allows them to see each others' modifications]
+    expected: FAIL
+
+  [postMessaging to a same-origin opened window allows them to see each others' modifications]
+    expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-dedicatedworker.html.ini
@@ -0,0 +1,5 @@
+[canblock-dedicatedworker.html]
+  type: testharness
+
+  [[[CanBlock\]\] in a DedicatedWorkerGlobalScope]
+    expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-serviceworker.https.html.ini
@@ -0,0 +1,5 @@
+[canblock-serviceworker.https.html]
+  type: testharness
+
+  [[[CanBlock\]\] in a ServiceWorkerGlobalScope]
+    expected: FAIL
--- a/testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-sharedworker.html.ini
+++ b/testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-sharedworker.html.ini
@@ -1,5 +1,6 @@
 [canblock-sharedworker.html]
   type: testharness
+
   [[[CanBlock\]\] in a SharedWorkerGlobalScope]
     expected: FAIL
 
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-window.html.ini
@@ -0,0 +1,5 @@
+[canblock-window.html]
+  type: testharness
+
+  [[[CanBlock\]\] in a similar-origin window agent]
+    expected: FAIL