diff --git a/test/built-ins/Atomics/add/bad-range.js b/test/built-ins/Atomics/add/bad-range.js
index 971a958806f49bcbed3c6c56e7f0b82cb770961c..e220affe3a42ae6dae1406be1978f459e621358a 100644
--- a/test/built-ins/Atomics/add/bad-range.js
+++ b/test/built-ins/Atomics/add/bad-range.js
@@ -15,6 +15,10 @@ var views = intArrayConstructors.slice();
 testWithTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.add(view, IdxGen(view), 10));
+    assert.throws(
+      RangeError,
+      () => Atomics.add(view, IdxGen(view), 10),
+      'Atomics.add(view, IdxGen(view), 10) throws RangeError'
+    );
   });
 }, views);
diff --git a/test/built-ins/Atomics/add/bigint/bad-range.js b/test/built-ins/Atomics/add/bigint/bad-range.js
index d8781ee6f62f68ac010570951d4c4d955e93e8fc..2cb1260dde3a698acc741d03c7b456e8c5090d27 100644
--- a/test/built-ins/Atomics/add/bigint/bad-range.js
+++ b/test/built-ins/Atomics/add/bigint/bad-range.js
@@ -14,6 +14,10 @@ var buffer = new SharedArrayBuffer(8);
 testWithBigIntTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.add(view, IdxGen(view), 10));
+    assert.throws(
+      RangeError,
+      () => Atomics.add(view, IdxGen(view), 10),
+      'Atomics.add(view, IdxGen(view), 10) throws RangeError'
+    );
   });
 });
diff --git a/test/built-ins/Atomics/add/bigint/good-views.js b/test/built-ins/Atomics/add/bigint/good-views.js
index 97527944976ab4e366c52fda53ac385e6c120246..a0ba6015e976380139237fc505a8d82b6954d44c 100644
--- a/test/built-ins/Atomics/add/bigint/good-views.js
+++ b/test/built-ins/Atomics/add/bigint/good-views.js
@@ -19,27 +19,27 @@ testWithBigIntTypedArrayConstructors(function(TA) {
 
   // Add positive number
   view[8] = 0;
-  assert.sameValue(Atomics.add(view, 8, 10), 0);
-  assert.sameValue(view[8], 10);
+  assert.sameValue(Atomics.add(view, 8, 10), 0, 'Atomics.add(view, 8, 10) returns 0');
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   // Add negative number
-  assert.sameValue(Atomics.add(view, 8, -5), 10);
-  assert.sameValue(view[8], 5);
+  assert.sameValue(Atomics.add(view, 8, -5), 10, 'Atomics.add(view, 8, -5) returns 10');
+  assert.sameValue(view[8], 5, 'The value of view[8] is 5');
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is negative and subject to coercion");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (-5)');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (12345)');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (123456789)');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -48,6 +48,6 @@ testWithBigIntTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.add(view, Idx, 0), 37);
+    assert.sameValue(Atomics.add(view, Idx, 0), 37, 'Atomics.add(view, Idx, 0) returns 37');
   });
 });
diff --git a/test/built-ins/Atomics/add/bigint/nonshared-int-views.js b/test/built-ins/Atomics/add/bigint/nonshared-int-views.js
index 1d9c2b1fc957ef797d399131dd1b0263096b1dff..033e733168b535b8f5db91a1c9184030d3f0b32e 100644
--- a/test/built-ins/Atomics/add/bigint/nonshared-int-views.js
+++ b/test/built-ins/Atomics/add/bigint/nonshared-int-views.js
@@ -12,5 +12,9 @@ features: [ArrayBuffer, arrow-function, Atomics, BigInt, TypedArray]
 var ab = new ArrayBuffer(16);
 
 testWithBigIntTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, () => Atomics.add(new TA(ab), 0, 0));
+  assert.throws(
+    TypeError,
+    () => Atomics.add(new TA(ab), 0, 0),
+    'Atomics.add(new TA(ab), 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/add/descriptor.js b/test/built-ins/Atomics/add/descriptor.js
index d5e28f040d06c82a19d6d1ef76c39a5b0de6bc0c..ffb5311abe0513522f49ec69e93f11016b1aa54f 100644
--- a/test/built-ins/Atomics/add/descriptor.js
+++ b/test/built-ins/Atomics/add/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "add");
-verifyNotEnumerable(Atomics, "add");
-verifyConfigurable(Atomics, "add");
+verifyProperty(Atomics, 'add', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/add/expected-return-value.js b/test/built-ins/Atomics/add/expected-return-value.js
index b60694689d2cc761b56bf8ad914071b2ed80ca77..ad6d4817e5158226e23f73e73d1ffa0e87faf2fb 100644
--- a/test/built-ins/Atomics/add/expected-return-value.js
+++ b/test/built-ins/Atomics/add/expected-return-value.js
@@ -29,7 +29,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
+var newValue = 0b00000001000000001000000010000001;
 
-assert.sameValue(Atomics.add(i32a, 0, value), 0);
-assert.sameValue(i32a[0], value);
+assert.sameValue(Atomics.add(i32a, 0, newValue), 0, 'Atomics.add(i32a, 0, newValue) returns 0');
+assert.sameValue(i32a[0], newValue, 'The value of i32a[0] equals the value of newValue (0b00000001000000001000000010000001)');
diff --git a/test/built-ins/Atomics/add/good-views.js b/test/built-ins/Atomics/add/good-views.js
index 64235a5be82f88f59612cee262b27d4f18502e5a..07731646be44597e33a1abdbe6f1435c9a5f4272 100644
--- a/test/built-ins/Atomics/add/good-views.js
+++ b/test/built-ins/Atomics/add/good-views.js
@@ -20,27 +20,27 @@ testWithTypedArrayConstructors(function(TA) {
 
   // Add positive number
   view[8] = 0;
-  assert.sameValue(Atomics.add(view, 8, 10), 0);
-  assert.sameValue(view[8], 10);
+  assert.sameValue(Atomics.add(view, 8, 10), 0, 'Atomics.add(view, 8, 10) returns 0');
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   // Add negative number
-  assert.sameValue(Atomics.add(view, 8, -5), 10);
-  assert.sameValue(view[8], 5);
+  assert.sameValue(Atomics.add(view, 8, -5), 10, 'Atomics.add(view, 8, -5) returns 10');
+  assert.sameValue(view[8], 5, 'The value of view[8] is 5');
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is negative and subject to coercion");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (-5)');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (12345)');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (123456789)');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -49,6 +49,6 @@ testWithTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.add(view, Idx, 0), 37);
+    assert.sameValue(Atomics.add(view, Idx, 0), 37, 'Atomics.add(view, Idx, 0) returns 37');
   });
 }, views);
diff --git a/test/built-ins/Atomics/add/length.js b/test/built-ins/Atomics/add/length.js
index 518f30277e0abb60d7bc9a3e237c8217ef98e13d..207c46455c09b31aae5a74c1f19143689ceb786f 100644
--- a/test/built-ins/Atomics/add/length.js
+++ b/test/built-ins/Atomics/add/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.add.length, 3);
-
-verifyNotEnumerable(Atomics.add, "length");
-verifyNotWritable(Atomics.add, "length");
-verifyConfigurable(Atomics.add, "length");
+verifyProperty(Atomics.add, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/add/name.js b/test/built-ins/Atomics/add/name.js
index ccb06e1fad45675c10a4c3fc0e89e8172980d0eb..8299f8962be5094b9a0a577250954f2288c8d296 100644
--- a/test/built-ins/Atomics/add/name.js
+++ b/test/built-ins/Atomics/add/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.add.name, "add");
-
-verifyNotEnumerable(Atomics.add, "name");
-verifyNotWritable(Atomics.add, "name");
-verifyConfigurable(Atomics.add, "name");
+verifyProperty(Atomics.add, 'name', {
+  value: 'add',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/add/non-views.js b/test/built-ins/Atomics/add/non-views.js
index f0eecdafb2eadc962677fc4acb00edbf79bee240..5eece9cb81bb6c04cdf8e97d3a371a191300c2ab 100644
--- a/test/built-ins/Atomics/add/non-views.js
+++ b/test/built-ins/Atomics/add/non-views.js
@@ -10,5 +10,9 @@ features: [ArrayBuffer, arrow-function, Atomics, DataView, for-of, let, SharedAr
 ---*/
 
 testWithAtomicsNonViewValues(function(view) {
-  assert.throws(TypeError, (() => Atomics.add(view, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.add(view, 0, 0),
+    'Atomics.add(view, 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/add/nonshared-int-views.js b/test/built-ins/Atomics/add/nonshared-int-views.js
index a7df43c6968d11e2b797947fce61567d0f3e498e..441b422ecc71259c67a8569faf1975fd4e904a38 100644
--- a/test/built-ins/Atomics/add/nonshared-int-views.js
+++ b/test/built-ins/Atomics/add/nonshared-int-views.js
@@ -13,5 +13,9 @@ var ab = new ArrayBuffer(16);
 var views = intArrayConstructors.slice();
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.add(new TA(ab), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.add(new TA(ab), 0, 0),
+    'Atomics.add(new TA(ab), 0, 0) throws TypeError'
+  );
 }, views);
diff --git a/test/built-ins/Atomics/add/shared-nonint-views.js b/test/built-ins/Atomics/add/shared-nonint-views.js
index b8eb2ce0bf1588fa29b72d9f2a8141f7b7a43b6c..82fdfe8449af0cb87729769be2002904385de38d 100644
--- a/test/built-ins/Atomics/add/shared-nonint-views.js
+++ b/test/built-ins/Atomics/add/shared-nonint-views.js
@@ -12,5 +12,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 var buffer = new SharedArrayBuffer(1024);
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.add(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.add(new TA(buffer), 0, 0),
+    'Atomics.add(new TA(buffer), 0, 0) throws TypeError'
+  );
 }, floatArrayConstructors);
diff --git a/test/built-ins/Atomics/and/bad-range.js b/test/built-ins/Atomics/and/bad-range.js
index 683a5a32b2d4ae1600f9ab3a4562c1c11f10f9a7..e01b6def7fae4559469d7cda6323014e95eb07d1 100644
--- a/test/built-ins/Atomics/and/bad-range.js
+++ b/test/built-ins/Atomics/and/bad-range.js
@@ -15,6 +15,10 @@ var views = intArrayConstructors.slice();
 testWithTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.and(view, IdxGen(view), 10));
+    assert.throws(
+      RangeError,
+      () => Atomics.and(view, IdxGen(view), 10),
+      'Atomics.and(view, IdxGen(view), 10) throws RangeError'
+    );
   });
 }, views);
diff --git a/test/built-ins/Atomics/and/bigint/bad-range.js b/test/built-ins/Atomics/and/bigint/bad-range.js
index 0f87ca9fe9b3500adaa5d31edb98b9b65695a5be..8e320065bc425b18030e0d9ca412272c77c9c1c8 100644
--- a/test/built-ins/Atomics/and/bigint/bad-range.js
+++ b/test/built-ins/Atomics/and/bigint/bad-range.js
@@ -14,6 +14,10 @@ var buffer = new SharedArrayBuffer(8);
 testWithBigIntTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.and(view, IdxGen(view), 10));
+    assert.throws(
+      RangeError,
+      () => Atomics.and(view, IdxGen(view), 10),
+      'Atomics.and(view, IdxGen(view), 10) throws RangeError'
+    );
   });
 });
diff --git a/test/built-ins/Atomics/and/bigint/good-views.js b/test/built-ins/Atomics/and/bigint/good-views.js
index 2ce7daa33cc08d9b5b5cf2e7d4aada2259e872a2..b0cd17f087d9cc7594e289273ed4750009cd43b2 100644
--- a/test/built-ins/Atomics/and/bigint/good-views.js
+++ b/test/built-ins/Atomics/and/bigint/good-views.js
@@ -20,33 +20,41 @@ testWithBigIntTypedArrayConstructors(function(TA) {
   view[8] = 0x33333333;
   control[0] = 0x33333333;
   assert.sameValue(Atomics.and(view, 8, 0x55555555), control[0],
-    "Result is subject to chopping");
+    'Atomics.and(view, 8, 0x55555555) equals the value of control[0] (0x33333333)');
 
   control[0] = 0x11111111;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(
+    view[8],
+    control[0],
+    'The value of view[8] equals the value of control[0] (0x11111111)'
+  );
   assert.sameValue(Atomics.and(view, 8, 0xF0F0F0F0), control[0],
-    "Result is subject to chopping");
+    'Atomics.and(view, 8, 0xF0F0F0F0) equals the value of control[0] (0x11111111)');
 
   control[0] = 0x10101010;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(
+    view[8],
+    control[0],
+    'The value of view[8] equals the value of control[0] (0x10101010)'
+  );
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is negative and subject to coercion");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (-5)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is subjective to chopping");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (12345)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is subjective to chopping");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (123456789)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -55,6 +63,6 @@ testWithBigIntTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.and(view, Idx, 0), 37);
+    assert.sameValue(Atomics.and(view, Idx, 0), 37, 'Atomics.and(view, Idx, 0) returns 37');
   });
 });
diff --git a/test/built-ins/Atomics/and/bigint/nonshared-int-views.js b/test/built-ins/Atomics/and/bigint/nonshared-int-views.js
index 8389b91852ec998e3acb019fe700cbf233ececb4..5005574664a3bc1c05645051a25e77e451aad24b 100644
--- a/test/built-ins/Atomics/and/bigint/nonshared-int-views.js
+++ b/test/built-ins/Atomics/and/bigint/nonshared-int-views.js
@@ -12,5 +12,9 @@ features: [ArrayBuffer, arrow-function, Atomics, BigInt, TypedArray]
 var buffer = new ArrayBuffer(16);
 
 testWithBigIntTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, () => Atomics.and(new TA(buffer), 0, 0));
+  assert.throws(
+    TypeError,
+    () => Atomics.and(new TA(buffer), 0, 0),
+    'Atomics.and(new TA(buffer), 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/and/descriptor.js b/test/built-ins/Atomics/and/descriptor.js
index 6e78a6a1ed59cf0c35afa40806d39388d2004184..00cf864e85b2b27fe70274fd0592dfec7aec2c88 100644
--- a/test/built-ins/Atomics/and/descriptor.js
+++ b/test/built-ins/Atomics/and/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "and");
-verifyNotEnumerable(Atomics, "and");
-verifyConfigurable(Atomics, "and");
+verifyProperty(Atomics, 'and', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/and/expected-return-value.js b/test/built-ins/Atomics/and/expected-return-value.js
index 86282e1d99d39e232af4dd8924c429bfa60b9251..f45d2a400c4308a08778d67882b6bf451dcca385 100644
--- a/test/built-ins/Atomics/and/expected-return-value.js
+++ b/test/built-ins/Atomics/and/expected-return-value.js
@@ -34,5 +34,9 @@ var other = 0b00000001111111111000000011111111;
 
 i32a[0] = value;
 
-assert.sameValue(Atomics.and(i32a, 0, value), value);
-assert.sameValue(i32a[0], value & other);
+assert.sameValue(
+  Atomics.and(i32a, 0, value),
+  value,
+  'Atomics.and(i32a, 0, value) equals the value of value (0b00000001000000001000000010000001)'
+);
+assert.sameValue(i32a[0], value & other, 'The value of i32a[0] is value & other');
diff --git a/test/built-ins/Atomics/and/good-views.js b/test/built-ins/Atomics/and/good-views.js
index e69420d530b973ffb272e8cfb25dfb4d462fa1de..d6ec3fafbbf9aa91d992d0953b8209abae2ba3de 100644
--- a/test/built-ins/Atomics/and/good-views.js
+++ b/test/built-ins/Atomics/and/good-views.js
@@ -21,33 +21,41 @@ testWithTypedArrayConstructors(function(TA) {
   view[8] = 0x33333333;
   control[0] = 0x33333333;
   assert.sameValue(Atomics.and(view, 8, 0x55555555), control[0],
-    "Result is subject to chopping");
+    'Atomics.and(view, 8, 0x55555555) equals the value of control[0] (0x33333333)');
 
   control[0] = 0x11111111;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(
+    view[8],
+    control[0],
+    'The value of view[8] equals the value of control[0] (0x11111111)'
+  );
   assert.sameValue(Atomics.and(view, 8, 0xF0F0F0F0), control[0],
-    "Result is subject to chopping");
+    'Atomics.and(view, 8, 0xF0F0F0F0) equals the value of control[0] (0x11111111)');
 
   control[0] = 0x10101010;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(
+    view[8],
+    control[0],
+    'The value of view[8] equals the value of control[0] (0x10101010)'
+  );
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is negative and subject to coercion");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (-5)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is subjective to chopping");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (12345)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is subjective to chopping");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (123456789)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -56,6 +64,6 @@ testWithTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.and(view, Idx, 0), 37);
+    assert.sameValue(Atomics.and(view, Idx, 0), 37, 'Atomics.and(view, Idx, 0) returns 37');
   });
 }, views);
diff --git a/test/built-ins/Atomics/and/length.js b/test/built-ins/Atomics/and/length.js
index b1e9bb0fd7f2b9d638f3e6601b4d62341ddfc537..9b4140801047fbed5053210e824f484429b73e84 100644
--- a/test/built-ins/Atomics/and/length.js
+++ b/test/built-ins/Atomics/and/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.and.length, 3);
-
-verifyNotEnumerable(Atomics.and, "length");
-verifyNotWritable(Atomics.and, "length");
-verifyConfigurable(Atomics.and, "length");
+verifyProperty(Atomics.and, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/and/name.js b/test/built-ins/Atomics/and/name.js
index 33010c4b529173d14458d58572b1ee9bea4462b1..7d85586e521e01947e730151eb901cf351fce419 100644
--- a/test/built-ins/Atomics/and/name.js
+++ b/test/built-ins/Atomics/and/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.and.name, "and");
-
-verifyNotEnumerable(Atomics.and, "name");
-verifyNotWritable(Atomics.and, "name");
-verifyConfigurable(Atomics.and, "name");
+verifyProperty(Atomics.and, 'name', {
+  value: 'and',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/and/non-views.js b/test/built-ins/Atomics/and/non-views.js
index 5d77bb208f9517caf258197adceb4434ebf1fed3..83cdd79add275756ab8dd14cd85ad0b265748e38 100644
--- a/test/built-ins/Atomics/and/non-views.js
+++ b/test/built-ins/Atomics/and/non-views.js
@@ -10,5 +10,9 @@ features: [ArrayBuffer, arrow-function, Atomics, DataView, for-of, let, SharedAr
 ---*/
 
 testWithAtomicsNonViewValues(function(view) {
-  assert.throws(TypeError, (() => Atomics.and(view, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.and(view, 0, 0),
+    'Atomics.and(view, 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/and/nonshared-int-views.js b/test/built-ins/Atomics/and/nonshared-int-views.js
index 1808f895656b4c364c74171d389a920915bdee1b..f588fb7bb7074aefe4789e50ba784fc37647de31 100644
--- a/test/built-ins/Atomics/and/nonshared-int-views.js
+++ b/test/built-ins/Atomics/and/nonshared-int-views.js
@@ -13,5 +13,9 @@ var buffer = new ArrayBuffer(16);
 var views = intArrayConstructors.slice();
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.and(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.and(new TA(buffer), 0, 0),
+    'Atomics.and(new TA(buffer), 0, 0) throws TypeError'
+  );
 }, views);
diff --git a/test/built-ins/Atomics/and/shared-nonint-views.js b/test/built-ins/Atomics/and/shared-nonint-views.js
index 42b669359e0099c062aeaa2825788c7bda142401..05d57616cf212ee1fe63c38736f33e40dcda7621 100644
--- a/test/built-ins/Atomics/and/shared-nonint-views.js
+++ b/test/built-ins/Atomics/and/shared-nonint-views.js
@@ -12,5 +12,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 var buffer = new SharedArrayBuffer(1024);
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.and(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.and(new TA(buffer), 0, 0),
+    'Atomics.and(new TA(buffer), 0, 0) throws TypeError'
+  );
 }, floatArrayConstructors);
diff --git a/test/built-ins/Atomics/compareExchange/bad-range.js b/test/built-ins/Atomics/compareExchange/bad-range.js
index 34407bb0cbc98a21f538acf7a8efc210a6bd7b7d..d43a2d66ac49fc8dd094de775902d35a6dd13331 100644
--- a/test/built-ins/Atomics/compareExchange/bad-range.js
+++ b/test/built-ins/Atomics/compareExchange/bad-range.js
@@ -15,6 +15,10 @@ var views = intArrayConstructors.slice();
 testWithTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.compareExchange(view, IdxGen(view), 10, 0));
+    assert.throws(
+      RangeError,
+      () => Atomics.compareExchange(view, IdxGen(view), 10, 0),
+      'Atomics.compareExchange(view, IdxGen(view), 10, 0) throws RangeError'
+    );
   });
 }, views);
diff --git a/test/built-ins/Atomics/compareExchange/bigint/bad-range.js b/test/built-ins/Atomics/compareExchange/bigint/bad-range.js
index 99ff9ec70b5461e11de752ad249585c9c7d5670c..1b302f16761a0b3ae506407b8740159555ada13f 100644
--- a/test/built-ins/Atomics/compareExchange/bigint/bad-range.js
+++ b/test/built-ins/Atomics/compareExchange/bigint/bad-range.js
@@ -14,6 +14,10 @@ var buffer = new SharedArrayBuffer(8);
 testWithBigIntTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.compareExchange(view, IdxGen(view), 10, 0));
+    assert.throws(
+      RangeError,
+      () => Atomics.compareExchange(view, IdxGen(view), 10, 0),
+      'Atomics.compareExchange(view, IdxGen(view), 10, 0) throws RangeError'
+    );
   });
 });
diff --git a/test/built-ins/Atomics/compareExchange/bigint/good-views.js b/test/built-ins/Atomics/compareExchange/bigint/good-views.js
index ed6c330d39af1e825466e480ded686a1d56c71da..f68e8b4592f487027436779254f98351b1e6789e 100644
--- a/test/built-ins/Atomics/compareExchange/bigint/good-views.js
+++ b/test/built-ins/Atomics/compareExchange/bigint/good-views.js
@@ -19,39 +19,43 @@ testWithBigIntTypedArrayConstructors(function(TA) {
 
   // Performs the exchange
   view[8] = 0;
-  assert.sameValue(Atomics.compareExchange(view, 8, 0, 10), 0);
-  assert.sameValue(view[8], 10);
+  assert.sameValue(
+    Atomics.compareExchange(view, 8, 0, 10),
+    0,
+    'Atomics.compareExchange(view, 8, 0, 10) returns 0'
+  );
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   view[8] = 0;
   assert.sameValue(Atomics.compareExchange(view, 8, 1, 10), 0,
-    "Does not perform the exchange");
-  assert.sameValue(view[8], 0);
+    'Atomics.compareExchange(view, 8, 1, 10) returns 0');
+  assert.sameValue(view[8], 0, 'The value of view[8] is 0');
 
   view[8] = 0;
   assert.sameValue(Atomics.compareExchange(view, 8, 0, -5), 0,
-    "Performs the exchange, coercing the value being stored");
+    'Atomics.compareExchange(view, 8, 0, -5) returns 0');
   control[0] = -5;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(view[8], control[0], 'The value of view[8] equals the value of control[0] (-5)');
 
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.compareExchange(view, 3, -5, 0), control[0],
-    "Performs the exchange, coercing the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, -5, 0) equals the value of control[0] (-5)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.compareExchange(view, 3, 12345, 0), control[0],
-    "Performs the exchange, chopping the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, 12345, 0) equals the value of control[0] (12345)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.compareExchange(view, 3, 123456789, 0), control[0],
-    "Performs the exchange, chopping the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, 123456789, 0) equals the value of control[0] (123456789)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -60,6 +64,10 @@ testWithBigIntTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.compareExchange(view, Idx, 37, 0), 37);
+    assert.sameValue(
+      Atomics.compareExchange(view, Idx, 37, 0),
+      37,
+      'Atomics.compareExchange(view, Idx, 37, 0) returns 37'
+    );
   });
 });
diff --git a/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js b/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js
index 2b044ca0c53ce4087777b7cc08b542669c4028df..083fb0bf6bb50e30ca7680ab4aced1888b89f686 100644
--- a/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js
+++ b/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js
@@ -12,5 +12,9 @@ features: [ArrayBuffer, arrow-function, Atomics, BigInt, TypedArray]
 var buffer = new ArrayBuffer(16);
 
 testWithBigIntTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.compareExchange(new TA(buffer), 0, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.compareExchange(new TA(buffer), 0, 0, 0),
+    'Atomics.compareExchange(new TA(buffer), 0, 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/compareExchange/descriptor.js b/test/built-ins/Atomics/compareExchange/descriptor.js
index de399b2f2c86a63815d829a65960f8c700611b89..229d0d52d4e020b90802e15c4cfb49cd57e6faa2 100644
--- a/test/built-ins/Atomics/compareExchange/descriptor.js
+++ b/test/built-ins/Atomics/compareExchange/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "compareExchange");
-verifyNotEnumerable(Atomics, "compareExchange");
-verifyConfigurable(Atomics, "compareExchange");
+verifyProperty(Atomics, 'compareExchange', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/compareExchange/expected-return-value.js b/test/built-ins/Atomics/compareExchange/expected-return-value.js
index 5f46bb74ef09df4d03b31f718be2fe5560f4c647..d9ef99de2f5802ae5105999c8733a1bdb39797a5 100644
--- a/test/built-ins/Atomics/compareExchange/expected-return-value.js
+++ b/test/built-ins/Atomics/compareExchange/expected-return-value.js
@@ -28,9 +28,13 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
+var update = 0b00000001000000001000000010000001;
 
-i32a[0] = value;
+i32a[0] = update;
 
-assert.sameValue(Atomics.compareExchange(i32a, 0, value, 0), value);
-assert.sameValue(i32a[0], 0);
+assert.sameValue(
+  Atomics.compareExchange(i32a, 0, update, 0),
+  update,
+  'Atomics.compareExchange(i32a, 0, update, 0) equals the value of update (0b00000001000000001000000010000001)'
+);
+assert.sameValue(i32a[0], 0, 'The value of i32a[0] is 0');
diff --git a/test/built-ins/Atomics/compareExchange/good-views.js b/test/built-ins/Atomics/compareExchange/good-views.js
index 9d39d9a4ae47b273dc926c2333388b2d4292b61a..091414b49606233a88c023660df9f2a39bcdf8ec 100644
--- a/test/built-ins/Atomics/compareExchange/good-views.js
+++ b/test/built-ins/Atomics/compareExchange/good-views.js
@@ -20,39 +20,43 @@ testWithTypedArrayConstructors(function(TA) {
 
   // Performs the exchange
   view[8] = 0;
-  assert.sameValue(Atomics.compareExchange(view, 8, 0, 10), 0);
-  assert.sameValue(view[8], 10);
+  assert.sameValue(
+    Atomics.compareExchange(view, 8, 0, 10),
+    0,
+    'Atomics.compareExchange(view, 8, 0, 10) returns 0'
+  );
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   view[8] = 0;
   assert.sameValue(Atomics.compareExchange(view, 8, 1, 10), 0,
-    "Does not perform the exchange");
-  assert.sameValue(view[8], 0);
+    'Atomics.compareExchange(view, 8, 1, 10) returns 0');
+  assert.sameValue(view[8], 0, 'The value of view[8] is 0');
 
   view[8] = 0;
   assert.sameValue(Atomics.compareExchange(view, 8, 0, -5), 0,
-    "Performs the exchange, coercing the value being stored");
+    'Atomics.compareExchange(view, 8, 0, -5) returns 0');
   control[0] = -5;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(view[8], control[0], 'The value of view[8] equals the value of control[0] (-5)');
 
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.compareExchange(view, 3, -5, 0), control[0],
-    "Performs the exchange, coercing the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, -5, 0) equals the value of control[0] (-5)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.compareExchange(view, 3, 12345, 0), control[0],
-    "Performs the exchange, chopping the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, 12345, 0) equals the value of control[0] (12345)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.compareExchange(view, 3, 123456789, 0), control[0],
-    "Performs the exchange, chopping the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, 123456789, 0) equals the value of control[0] (123456789)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -61,6 +65,10 @@ testWithTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.compareExchange(view, Idx, 37, 0), 37);
+    assert.sameValue(
+      Atomics.compareExchange(view, Idx, 37, 0),
+      37,
+      'Atomics.compareExchange(view, Idx, 37, 0) returns 37'
+    );
   });
 }, views);
diff --git a/test/built-ins/Atomics/compareExchange/length.js b/test/built-ins/Atomics/compareExchange/length.js
index db09540738eae9ee145f7885d4e9ea5d5294aa10..063833eb46b7e441feeb3b23bd464091e0897a94 100644
--- a/test/built-ins/Atomics/compareExchange/length.js
+++ b/test/built-ins/Atomics/compareExchange/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.compareExchange.length, 4);
-
-verifyNotEnumerable(Atomics.compareExchange, "length");
-verifyNotWritable(Atomics.compareExchange, "length");
-verifyConfigurable(Atomics.compareExchange, "length");
+verifyProperty(Atomics.compareExchange, 'length', {
+  value: 4,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/compareExchange/name.js b/test/built-ins/Atomics/compareExchange/name.js
index 80a56b04c4d25df8a31a280b10ed1db810bac2b6..687de28581a27050c6e51fc21551b5d4ffe6df0d 100644
--- a/test/built-ins/Atomics/compareExchange/name.js
+++ b/test/built-ins/Atomics/compareExchange/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.compareExchange.name, "compareExchange");
-
-verifyNotEnumerable(Atomics.compareExchange, "name");
-verifyNotWritable(Atomics.compareExchange, "name");
-verifyConfigurable(Atomics.compareExchange, "name");
+verifyProperty(Atomics.compareExchange, 'name', {
+  value: 'compareExchange',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/compareExchange/non-views.js b/test/built-ins/Atomics/compareExchange/non-views.js
index e297384cf77184bae2ba5f9a954fa1cf8980a896..2f073adf0686c404f6d791d98ded4aa1a42adbd6 100644
--- a/test/built-ins/Atomics/compareExchange/non-views.js
+++ b/test/built-ins/Atomics/compareExchange/non-views.js
@@ -10,5 +10,9 @@ features: [ArrayBuffer, arrow-function, Atomics, DataView, for-of, let, SharedAr
 ---*/
 
 testWithAtomicsNonViewValues(function(view) {
-  assert.throws(TypeError, (() => Atomics.compareExchange(view, 0, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.compareExchange(view, 0, 0, 0),
+    'Atomics.compareExchange(view, 0, 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/compareExchange/nonshared-int-views.js b/test/built-ins/Atomics/compareExchange/nonshared-int-views.js
index 649359451b5785fb805d52f487465d482c060926..e021e0030142ea85c8a308871c3af8415fa301c1 100644
--- a/test/built-ins/Atomics/compareExchange/nonshared-int-views.js
+++ b/test/built-ins/Atomics/compareExchange/nonshared-int-views.js
@@ -13,5 +13,9 @@ var buffer = new ArrayBuffer(16);
 var views = intArrayConstructors.slice();
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.compareExchange(new TA(buffer), 0, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.compareExchange(new TA(buffer), 0, 0, 0),
+    'Atomics.compareExchange(new TA(buffer), 0, 0, 0) throws TypeError'
+  );
 }, views);
diff --git a/test/built-ins/Atomics/compareExchange/shared-nonint-views.js b/test/built-ins/Atomics/compareExchange/shared-nonint-views.js
index 58815cb1e5580b5a51d44e8301011b0d22be6c54..6fac3bf5a6e2501fcae68099d216046fd6ab665c 100644
--- a/test/built-ins/Atomics/compareExchange/shared-nonint-views.js
+++ b/test/built-ins/Atomics/compareExchange/shared-nonint-views.js
@@ -12,5 +12,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 var buffer = new SharedArrayBuffer(1024);
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.compareExchange(new TA(buffer), 0, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.compareExchange(new TA(buffer), 0, 0, 0),
+    'Atomics.compareExchange(new TA(buffer), 0, 0, 0) throws TypeError'
+  );
 }, floatArrayConstructors);
diff --git a/test/built-ins/Atomics/exchange/bad-range.js b/test/built-ins/Atomics/exchange/bad-range.js
index f1c929ddd01049de0767f77fd2d90650373faec1..5073f7ab73b60293c31b5de98e5e0fcaae6e7b0c 100644
--- a/test/built-ins/Atomics/exchange/bad-range.js
+++ b/test/built-ins/Atomics/exchange/bad-range.js
@@ -15,6 +15,10 @@ var views = intArrayConstructors.slice();
 testWithTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.exchange(view, IdxGen(view), 10, 0));
+    assert.throws(
+      RangeError,
+      () => Atomics.exchange(view, IdxGen(view), 10, 0),
+      'Atomics.exchange(view, IdxGen(view), 10, 0) throws RangeError'
+    );
   });
 }, views);
diff --git a/test/built-ins/Atomics/exchange/bigint/bad-range.js b/test/built-ins/Atomics/exchange/bigint/bad-range.js
index 2ccd1b94607f6790ccee907f99dde48a6c561d67..dd0599c033de0b7279d27bbb97bc2a107c08b989 100644
--- a/test/built-ins/Atomics/exchange/bigint/bad-range.js
+++ b/test/built-ins/Atomics/exchange/bigint/bad-range.js
@@ -14,6 +14,10 @@ var buffer = new SharedArrayBuffer(8);
 testWithBigIntTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.exchange(view, IdxGen(view), 10, 0));
+    assert.throws(
+      RangeError,
+      () => Atomics.exchange(view, IdxGen(view), 10, 0),
+      'Atomics.exchange(view, IdxGen(view), 10, 0) throws RangeError'
+    );
   });
 });
diff --git a/test/built-ins/Atomics/exchange/bigint/good-views.js b/test/built-ins/Atomics/exchange/bigint/good-views.js
index 44cdf9e5221b2de9c4287c58e4981ff7a798b57f..610305fb469390bb26d34c48e3a21d896d1549d1 100644
--- a/test/built-ins/Atomics/exchange/bigint/good-views.js
+++ b/test/built-ins/Atomics/exchange/bigint/good-views.js
@@ -19,28 +19,28 @@ testWithBigIntTypedArrayConstructors(function(TA) {
 
   view[8] = 0;
   assert.sameValue(Atomics.exchange(view, 8, 10), 0,
-    "Exchange returns the value previously in the array");
-  assert.sameValue(view[8], 10);
+    'Atomics.exchange(view, 8, 10) returns 0');
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   assert.sameValue(Atomics.exchange(view, 8, -5), 10,
-    "Exchange returns the value previously in the array");
+    'Atomics.exchange(view, 8, -5) returns 10');
   control[0] = -5;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(view[8], control[0], 'The value of view[8] equals the value of control[0] (-5)');
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to coercion");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (-5)');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (12345)');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (123456789)');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -49,6 +49,6 @@ testWithBigIntTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.exchange(view, Idx, 0), 37);
+    assert.sameValue(Atomics.exchange(view, Idx, 0), 37, 'Atomics.exchange(view, Idx, 0) returns 37');
   });
 });
diff --git a/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js b/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js
index 13f49c28f23f0f64efe064e7b654958b09a8edd7..5f70fa85c842281847bf22a9e22a10d64da56063 100644
--- a/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js
+++ b/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js
@@ -12,5 +12,9 @@ features: [ArrayBuffer, arrow-function, Atomics, BigInt, TypedArray]
 var buffer = new ArrayBuffer(16);
 
 testWithBigIntTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.exchange(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.exchange(new TA(buffer), 0, 0),
+    'Atomics.exchange(new TA(buffer), 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/exchange/descriptor.js b/test/built-ins/Atomics/exchange/descriptor.js
index b65ea64f17a9326a7760e2b82540c37b59987ab8..33998156eba342c8cc038158fac6271263330016 100644
--- a/test/built-ins/Atomics/exchange/descriptor.js
+++ b/test/built-ins/Atomics/exchange/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "exchange");
-verifyNotEnumerable(Atomics, "exchange");
-verifyConfigurable(Atomics, "exchange");
+verifyProperty(Atomics, 'exchange', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/exchange/expected-return-value.js b/test/built-ins/Atomics/exchange/expected-return-value.js
index b5a91b03f6ace2df96c2b1dc0b433c58313b2cb1..31af025b38e0292366bb63fb8d2747ca9e4954c6 100644
--- a/test/built-ins/Atomics/exchange/expected-return-value.js
+++ b/test/built-ins/Atomics/exchange/expected-return-value.js
@@ -29,7 +29,15 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
-
-assert.sameValue(Atomics.exchange(i32a, 0, value), 0);
-assert.sameValue(i32a[0], value);
+var update = 0b00000001000000001000000010000001;
+
+assert.sameValue(
+  Atomics.exchange(i32a, 0, update),
+  0,
+  'Atomics.exchange(i32a, 0, update) returns 0'
+);
+assert.sameValue(
+  i32a[0],
+  update,
+  'The value of i32a[0] equals the value of update (0b00000001000000001000000010000001)'
+);
diff --git a/test/built-ins/Atomics/exchange/good-views.js b/test/built-ins/Atomics/exchange/good-views.js
index a7b5c763307522128f6b83ea74e941a0a9416ee5..d0a21d455ef2c200edbd153e43cb1d85bdb59c4a 100644
--- a/test/built-ins/Atomics/exchange/good-views.js
+++ b/test/built-ins/Atomics/exchange/good-views.js
@@ -20,28 +20,28 @@ testWithTypedArrayConstructors(function(TA) {
 
   view[8] = 0;
   assert.sameValue(Atomics.exchange(view, 8, 10), 0,
-    "Exchange returns the value previously in the array");
-  assert.sameValue(view[8], 10);
+    'Atomics.exchange(view, 8, 10) returns 0');
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   assert.sameValue(Atomics.exchange(view, 8, -5), 10,
-    "Exchange returns the value previously in the array");
+    'Atomics.exchange(view, 8, -5) returns 10');
   control[0] = -5;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(view[8], control[0], 'The value of view[8] equals the value of control[0] (-5)');
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to coercion");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (-5)');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (12345)');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (123456789)');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -50,6 +50,6 @@ testWithTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.exchange(view, Idx, 0), 37);
+    assert.sameValue(Atomics.exchange(view, Idx, 0), 37, 'Atomics.exchange(view, Idx, 0) returns 37');
   });
 }, views);
diff --git a/test/built-ins/Atomics/exchange/length.js b/test/built-ins/Atomics/exchange/length.js
index 6a0cc44462e8a03e81fc8f5806e1827ce23b144a..34005d0412170884d83cad6659e4b2524f94fe9d 100644
--- a/test/built-ins/Atomics/exchange/length.js
+++ b/test/built-ins/Atomics/exchange/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.exchange.length, 3);
-
-verifyNotEnumerable(Atomics.exchange, "length");
-verifyNotWritable(Atomics.exchange, "length");
-verifyConfigurable(Atomics.exchange, "length");
+verifyProperty(Atomics.exchange, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/exchange/name.js b/test/built-ins/Atomics/exchange/name.js
index 95ca01a2374d9adfed97fdd2e10df68c576fd2c4..a8ee063822d77e3f3e68bf31dc24fc6e9c80e973 100644
--- a/test/built-ins/Atomics/exchange/name.js
+++ b/test/built-ins/Atomics/exchange/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.exchange.name, "exchange");
-
-verifyNotEnumerable(Atomics.exchange, "name");
-verifyNotWritable(Atomics.exchange, "name");
-verifyConfigurable(Atomics.exchange, "name");
+verifyProperty(Atomics.exchange, 'name', {
+  value: 'exchange',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/exchange/non-views.js b/test/built-ins/Atomics/exchange/non-views.js
index 1b9348ca695e4f3c12f4cc44d8e85a534b589ca2..cedc44610332fe2fce0297b0db7b782ff0ca1337 100644
--- a/test/built-ins/Atomics/exchange/non-views.js
+++ b/test/built-ins/Atomics/exchange/non-views.js
@@ -10,5 +10,9 @@ features: [ArrayBuffer, arrow-function, Atomics, DataView, for-of, let, SharedAr
 ---*/
 
 testWithAtomicsNonViewValues(function(view) {
-  assert.throws(TypeError, (() => Atomics.exchange(view, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.exchange(view, 0, 0),
+    'Atomics.exchange(view, 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/exchange/nonshared-int-views.js b/test/built-ins/Atomics/exchange/nonshared-int-views.js
index b5eda3754bfe9539273ab0cce51a0e5c408ffa61..937d5cff5c29b5bd6d0233eae018f786358ab796 100644
--- a/test/built-ins/Atomics/exchange/nonshared-int-views.js
+++ b/test/built-ins/Atomics/exchange/nonshared-int-views.js
@@ -13,5 +13,9 @@ var buffer = new ArrayBuffer(16);
 var views = intArrayConstructors.slice();
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.exchange(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.exchange(new TA(buffer), 0, 0),
+    'Atomics.exchange(new TA(buffer), 0, 0) throws TypeError'
+  );
 }, views);
diff --git a/test/built-ins/Atomics/exchange/shared-nonint-views.js b/test/built-ins/Atomics/exchange/shared-nonint-views.js
index 16a10234a46d116504d117535dbde5879d108474..b5e2edb24c2766302cb0d4a6418a34b1096cb1c5 100644
--- a/test/built-ins/Atomics/exchange/shared-nonint-views.js
+++ b/test/built-ins/Atomics/exchange/shared-nonint-views.js
@@ -12,5 +12,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 var buffer = new SharedArrayBuffer(1024);
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.exchange(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.exchange(new TA(buffer), 0, 0),
+    'Atomics.exchange(new TA(buffer), 0, 0) throws TypeError'
+  );
 }, floatArrayConstructors);
diff --git a/test/built-ins/Atomics/isLockFree/bigint/corner-cases.js b/test/built-ins/Atomics/isLockFree/bigint/corner-cases.js
index a0127ee2881ef8d792435426dc00c37b07c63f65..45daa591d44081706297d824e8771c99e7011473 100644
--- a/test/built-ins/Atomics/isLockFree/bigint/corner-cases.js
+++ b/test/built-ins/Atomics/isLockFree/bigint/corner-cases.js
@@ -9,20 +9,64 @@ features: [arrow-function, Atomics]
 includes: [testAtomics.js, testBigIntTypedArray.js]
 ---*/
 
-assert.sameValue(Atomics.isLockFree(hide(3, Number.NaN)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, -1)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, 3.14)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, 0)), false);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, Number.NaN)),
+  false,
+  'Atomics.isLockFree(hide(3, Number.NaN)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, -1)),
+  false,
+  'Atomics.isLockFree(hide(3, -1)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, 3.14)),
+  false,
+  'Atomics.isLockFree(hide(3, 3.14)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, 0)),
+  false,
+  'Atomics.isLockFree(hide(3, 0)) returns false'
+);
 
-assert.sameValue(Atomics.isLockFree('1'), Atomics.isLockFree(1));
-assert.sameValue(Atomics.isLockFree('3'), Atomics.isLockFree(3));
+assert.sameValue(
+  Atomics.isLockFree('1'),
+  Atomics.isLockFree(1),
+  'Atomics.isLockFree(\'1\') returns Atomics.isLockFree(1)'
+);
+assert.sameValue(
+  Atomics.isLockFree('3'),
+  Atomics.isLockFree(3),
+  'Atomics.isLockFree(\'3\') returns Atomics.isLockFree(3)'
+);
 
-assert.sameValue(Atomics.isLockFree(true), Atomics.isLockFree(1));
+assert.sameValue(
+  Atomics.isLockFree(true),
+  Atomics.isLockFree(1),
+  'Atomics.isLockFree(true) returns Atomics.isLockFree(1)'
+);
 
-assert.sameValue(Atomics.isLockFree(1), Atomics.isLockFree({valueOf: () => 1}));
-assert.sameValue(Atomics.isLockFree(3), Atomics.isLockFree({valueOf: () => 3}));
-assert.sameValue(Atomics.isLockFree(1), Atomics.isLockFree({toString: () => '1'}));
-assert.sameValue(Atomics.isLockFree(3), Atomics.isLockFree({toString: () => '3'}));
+assert.sameValue(
+  Atomics.isLockFree(1),
+  Atomics.isLockFree({valueOf: () => 1}),
+  'Atomics.isLockFree(1) returns Atomics.isLockFree({valueOf: () => 1})'
+);
+assert.sameValue(
+  Atomics.isLockFree(3),
+  Atomics.isLockFree({valueOf: () => 3}),
+  'Atomics.isLockFree(3) returns Atomics.isLockFree({valueOf: () => 3})'
+);
+assert.sameValue(
+  Atomics.isLockFree(1),
+  Atomics.isLockFree({toString: () => '1'}),
+  'Atomics.isLockFree(1) returns Atomics.isLockFree({toString: () => \'1\'})'
+);
+assert.sameValue(
+  Atomics.isLockFree(3),
+  Atomics.isLockFree({toString: () => '3'}),
+  'Atomics.isLockFree(3) returns Atomics.isLockFree({toString: () => \'3\'})'
+);
 
 function hide(k, x) {
   if (k) {
diff --git a/test/built-ins/Atomics/isLockFree/bigint/expected-return-value.js b/test/built-ins/Atomics/isLockFree/bigint/expected-return-value.js
index 56a0186f510c09e8c1adbe419bc02798668bd7ec..69cad37db6e68b25711556ef334460c4477b5641 100644
--- a/test/built-ins/Atomics/isLockFree/bigint/expected-return-value.js
+++ b/test/built-ins/Atomics/isLockFree/bigint/expected-return-value.js
@@ -23,7 +23,13 @@ includes: [testBigIntTypedArray.js]
 ---*/
 
 testWithBigIntTypedArrayConstructors(function(TA) {
-  assert.sameValue(Atomics.isLockFree(TA.BYTES_PER_ELEMENT), true);
+  var observed = Atomics.isLockFree(TA.BYTES_PER_ELEMENT);
+
+  assert.sameValue(
+    Atomics.isLockFree(TA.BYTES_PER_ELEMENT),
+    observed,
+    'Atomics.isLockFree(TA.BYTES_PER_ELEMENT) equals the value of `observed` (Atomics.isLockFree(TA.BYTES_PER_ELEMENT))'
+  );
 });
 
 
diff --git a/test/built-ins/Atomics/isLockFree/bigint/value.js b/test/built-ins/Atomics/isLockFree/bigint/value.js
deleted file mode 100644
index 0743f1c0fa8ecf130e89b69213f957975076df63..0000000000000000000000000000000000000000
--- a/test/built-ins/Atomics/isLockFree/bigint/value.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright (C) 2018 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-atomics.islockfree
-description: >
-  Test isLockFree on nonnegative integer arguments
-features: [Atomics, computed-property-names]
-includes: [testAtomics.js, testBigIntTypedArray.js]
----*/
-
-var sizes   = [    1,     2,     3,     4,     5,     6,     7,  8,
-                   9,    10,    11,    12];
-var answers = [   {},    {}, false,  true, false, false, false, false,
-               false, false, false, false];
-
-var saved = {};
-
-// This should defeat most optimizations.
-
-for (var i = 0; i < sizes.length; i++) {
-  var v = Atomics.isLockFree(sizes[i]);
-  var a = answers[i];
-  assert.sameValue(typeof v, 'boolean');
-  if (typeof a == 'boolean') {
-    assert.sameValue(v, a);
-  } else {
-    saved[sizes[i]] = v;
-  }
-}
-
-// This ought to be optimizable.  Make sure the answers are the same
-// as for the unoptimized case.
-
-assert.sameValue(Atomics.isLockFree(1), saved[1]);
-assert.sameValue(Atomics.isLockFree(2), saved[2]);
-assert.sameValue(Atomics.isLockFree(3), false);
-assert.sameValue(Atomics.isLockFree(4), true);
-assert.sameValue(Atomics.isLockFree(5), false);
-assert.sameValue(Atomics.isLockFree(6), false);
-assert.sameValue(Atomics.isLockFree(7), false);
-assert.sameValue(Atomics.isLockFree(8), false);
-assert.sameValue(Atomics.isLockFree(9), false);
-assert.sameValue(Atomics.isLockFree(10), false);
-assert.sameValue(Atomics.isLockFree(11), false);
-assert.sameValue(Atomics.isLockFree(12), false);
diff --git a/test/built-ins/Atomics/isLockFree/corner-cases.js b/test/built-ins/Atomics/isLockFree/corner-cases.js
index 9901e553a9d72c69a6d9bb7b13b8a8fa54029847..8f77cda292f4fe8a64af1153860c51d7b9c7a234 100644
--- a/test/built-ins/Atomics/isLockFree/corner-cases.js
+++ b/test/built-ins/Atomics/isLockFree/corner-cases.js
@@ -8,20 +8,64 @@ description: >
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.isLockFree(hide(3, Number.NaN)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, -1)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, 3.14)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, 0)), false);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, Number.NaN)),
+  false,
+  'Atomics.isLockFree(hide(3, Number.NaN)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, -1)),
+  false,
+  'Atomics.isLockFree(hide(3, -1)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, 3.14)),
+  false,
+  'Atomics.isLockFree(hide(3, 3.14)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, 0)),
+  false,
+  'Atomics.isLockFree(hide(3, 0)) returns false'
+);
 
-assert.sameValue(Atomics.isLockFree('1'), Atomics.isLockFree(1));
-assert.sameValue(Atomics.isLockFree('3'), Atomics.isLockFree(3));
+assert.sameValue(
+  Atomics.isLockFree('1'),
+  Atomics.isLockFree(1),
+  'Atomics.isLockFree("1") returns Atomics.isLockFree(1)'
+);
+assert.sameValue(
+  Atomics.isLockFree('3'),
+  Atomics.isLockFree(3),
+  'Atomics.isLockFree("3") returns Atomics.isLockFree(3)'
+);
 
-assert.sameValue(Atomics.isLockFree(true), Atomics.isLockFree(1));
+assert.sameValue(
+  Atomics.isLockFree(true),
+  Atomics.isLockFree(1),
+  'Atomics.isLockFree(true) returns Atomics.isLockFree(1)'
+);
 
-assert.sameValue(Atomics.isLockFree(1), Atomics.isLockFree({valueOf: () => 1}));
-assert.sameValue(Atomics.isLockFree(3), Atomics.isLockFree({valueOf: () => 3}));
-assert.sameValue(Atomics.isLockFree(1), Atomics.isLockFree({toString: () => '1'}));
-assert.sameValue(Atomics.isLockFree(3), Atomics.isLockFree({toString: () => '3'}));
+assert.sameValue(
+  Atomics.isLockFree(1),
+  Atomics.isLockFree({valueOf: () => 1}),
+  'Atomics.isLockFree(1) returns Atomics.isLockFree({valueOf: () => 1})'
+);
+assert.sameValue(
+  Atomics.isLockFree(3),
+  Atomics.isLockFree({valueOf: () => 3}),
+  'Atomics.isLockFree(3) returns Atomics.isLockFree({valueOf: () => 3})'
+);
+assert.sameValue(
+  Atomics.isLockFree(1),
+  Atomics.isLockFree({toString: () => '1'}),
+  'Atomics.isLockFree(1) returns Atomics.isLockFree({toString: () => "1"})'
+);
+assert.sameValue(
+  Atomics.isLockFree(3),
+  Atomics.isLockFree({toString: () => '3'}),
+  'Atomics.isLockFree(3) returns Atomics.isLockFree({toString: () => "3"})'
+);
 
 function hide(k, x) {
   if (k) {
diff --git a/test/built-ins/Atomics/isLockFree/descriptor.js b/test/built-ins/Atomics/isLockFree/descriptor.js
index d9c786c8ce86c485039d4c249a02dd65ca80ae83..ef47411ebbce298f3616b63b8b6a2aabbbb8689d 100644
--- a/test/built-ins/Atomics/isLockFree/descriptor.js
+++ b/test/built-ins/Atomics/isLockFree/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "add");
-verifyNotEnumerable(Atomics, "add");
-verifyConfigurable(Atomics, "add");
+verifyProperty(Atomics, 'add', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/isLockFree/expected-return-value.js b/test/built-ins/Atomics/isLockFree/expected-return-value.js
index 81898abe72a7ade57631bbabaedf184492843a5b..a057543a8a059d9789a8b3ffd977677825c74ff3 100644
--- a/test/built-ins/Atomics/isLockFree/expected-return-value.js
+++ b/test/built-ins/Atomics/isLockFree/expected-return-value.js
@@ -1,30 +1,111 @@
-// Copyright (C) 2018 Rick Waldron.  All rights reserved.
+// Copyright (C) 2017 Mozilla Corporation.  All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: sec-atomics.isLockFree
+esid: sec-atomics.islockfree
 description: >
-  Atomics.isLockFree returns a boolean that indicates whether
-  operations on datum of size will be performed without the agent
-  acquiring a lock outside of size bytes.
-info: |
   Atomics.isLockFree( size )
+    Let n be ? ToInteger(size).
+    Let AR be the Agent Record of the surrounding agent.
+    If n equals 1, return AR.[[IsLockFree1]].
+    If n equals 2, return AR.[[IsLockFree2]].
+    If n equals 4, return true.
+    If n equals 8, return AR.[[IsLockFree8]].
+    Return false.
+features: [Atomics]
+---*/
 
-  1. Let n be ? ToInteger(size).
-  2. Let AR be the Agent Record of the surrounding agent.
-  3. If n equals 1, return AR.[[IsLockFree1]].
-  4. If n equals 2, return AR.[[IsLockFree2]].
-  5. If n equals 4, return true.
-  6. Return false.
+// These are the only counts that we care about tracking.
+var isLockFree1;
+var isLockFree2;
+var isLockFree8;
 
-features: [Atomics, SharedArrayBuffer, TypedArray]
-includes: [testTypedArray.js]
----*/
+{
+  isLockFree1 = Atomics.isLockFree(1);
+  //
+  // If n equals 1, return AR.[[IsLockFree1]].
+  //
+  assert.sameValue(typeof isLockFree1, 'boolean', 'The value of `typeof isLockFree1` is "boolean"');
+  // Once the values of [[Signifier]], [[IsLockFree1]], [[IsLockFree2]],
+  // and [[IsLockFree8]] have been observed by any agent in the agent
+  // cluster they cannot change.
+  assert.sameValue(
+    Atomics.isLockFree(1),
+    isLockFree1,
+    'Atomics.isLockFree(1) equals the value of `isLockFree1` (Atomics.isLockFree(1))'
+  );
+};
+{
+  isLockFree2 = Atomics.isLockFree(2);
+  //
+  // If n equals 2, return AR.[[IsLockFree2]].
+  //
+  assert.sameValue(typeof isLockFree2, 'boolean', 'The value of `typeof isLockFree2` is "boolean"');
+  // Once the values of [[Signifier]], [[IsLockFree1]], [[IsLockFree2]],
+  // and [[IsLockFree8]] have been observed by any agent in the agent
+  // cluster they cannot change.
+  assert.sameValue(
+    Atomics.isLockFree(2),
+    isLockFree2,
+    'Atomics.isLockFree(2) equals the value of `isLockFree2` (Atomics.isLockFree(2))'
+  );
+};
+{
+  let isLockFree4 = Atomics.isLockFree(4);
+  //
+  // If n equals 4, return true.
+  //
+  assert.sameValue(typeof isLockFree4, 'boolean', 'The value of `typeof isLockFree` is "boolean"');
+  assert.sameValue(isLockFree4, true, 'The value of `isLockFree` is true');
+};
 
-var views = intArrayConstructors.slice();
+{
+  let isLockFree8 = Atomics.isLockFree(8);
+  //
+  // If n equals 8, return AR.[[IsLockFree8]].
+  //
+  assert.sameValue(typeof isLockFree8, 'boolean', 'The value of `typeof isLockFree8` is "boolean"');
+  // Once the values of [[Signifier]], [[IsLockFree1]], [[IsLockFree2]],
+  // and [[IsLockFree8]] have been observed by any agent in the agent
+  // cluster they cannot change.
+  assert.sameValue(
+    Atomics.isLockFree(8),
+    isLockFree8,
+    'Atomics.isLockFree(8) equals the value of `isLockFree8` (Atomics.isLockFree(8))'
+  );
+};
 
-testWithTypedArrayConstructors(function(TA) {
-  assert.sameValue(Atomics.isLockFree(TA.BYTES_PER_ELEMENT), true);
-}, views);
+{
+  for (let i = 0; i < 12; i++) {
+    if (![1, 2, 4, 8].includes(i)) {
+      assert.sameValue(Atomics.isLockFree(i), false);
+    }
+  }
+};
 
+assert.sameValue(
+  Atomics.isLockFree(1),
+  isLockFree1,
+  'Later call to Atomics.isLockFree(1) equals the value of `isLockFree1` (Atomics.isLockFree(1))'
+);
+assert.sameValue(
+  Atomics.isLockFree(2),
+  isLockFree2,
+  'Later call to Atomics.isLockFree(2) equals the value of `isLockFree2` (Atomics.isLockFree(2))'
+);
+assert.sameValue(
+  Atomics.isLockFree(8),
+  isLockFree8,
+  'Later call to Atomics.isLockFree(8) equals the value of `isLockFree8` (Atomics.isLockFree(8))'
+);
 
+// Duplicates behavior created by loop from above
+assert.sameValue(Atomics.isLockFree(3), false, 'Atomics.isLockFree(3) returns false');
+assert.sameValue(Atomics.isLockFree(4), true, 'Atomics.isLockFree(4) returns true');
+assert.sameValue(Atomics.isLockFree(5), false, 'Atomics.isLockFree(5) returns false');
+assert.sameValue(Atomics.isLockFree(6), false, 'Atomics.isLockFree(6) returns false');
+assert.sameValue(Atomics.isLockFree(7), false, 'Atomics.isLockFree(7) returns false');
+assert.sameValue(Atomics.isLockFree(9), false, 'Atomics.isLockFree(9) returns false');
+assert.sameValue(Atomics.isLockFree(10), false, 'Atomics.isLockFree(10) returns false');
+assert.sameValue(Atomics.isLockFree(11), false, 'Atomics.isLockFree(11) returns false');
+assert.sameValue(Atomics.isLockFree(12), false, 'Atomics.isLockFree(12) returns false');
diff --git a/test/built-ins/Atomics/isLockFree/length.js b/test/built-ins/Atomics/isLockFree/length.js
index beaf7962c7efb51fd959e1322fc59460039c97d5..e529f1ecf3063702d216a1f144089609f5c4174e 100644
--- a/test/built-ins/Atomics/isLockFree/length.js
+++ b/test/built-ins/Atomics/isLockFree/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.isLockFree.length, 1);
-
-verifyNotEnumerable(Atomics.isLockFree, "length");
-verifyNotWritable(Atomics.isLockFree, "length");
-verifyConfigurable(Atomics.isLockFree, "length");
+verifyProperty(Atomics.isLockFree, 'length', {
+  value: 1,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/isLockFree/name.js b/test/built-ins/Atomics/isLockFree/name.js
index bfa8478eddb79898a80716514ccf38b26cc684d7..eaedf2e8578648dfb9296c3b2b5f68457d77c427 100644
--- a/test/built-ins/Atomics/isLockFree/name.js
+++ b/test/built-ins/Atomics/isLockFree/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.isLockFree.name, "isLockFree");
-
-verifyNotEnumerable(Atomics.isLockFree, "name");
-verifyNotWritable(Atomics.isLockFree, "name");
-verifyConfigurable(Atomics.isLockFree, "name");
+verifyProperty(Atomics.isLockFree, 'name', {
+  value: 'isLockFree',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/isLockFree/value.js b/test/built-ins/Atomics/isLockFree/value.js
deleted file mode 100644
index 737043dad30725b0289e5508a06b7c92adc77e43..0000000000000000000000000000000000000000
--- a/test/built-ins/Atomics/isLockFree/value.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (C) 2017 Mozilla Corporation.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-atomics.islockfree
-description: >
-  Test isLockFree on nonnegative integer arguments
-features: [Atomics]
----*/
-
-var sizes   = [    1,     2,     3,     4,     5,     6,     7,  8,
-                   9,    10,    11,    12];
-var answers = [   {},    {}, false,  true, false, false, false, false,
-               false, false, false, false];
-
-var saved = {};
-
-// This should defeat most optimizations.
-
-for (var i = 0; i < sizes.length; i++) {
-  var v = Atomics.isLockFree(sizes[i]);
-  var a = answers[i];
-  assert.sameValue(typeof v, 'boolean');
-  if (typeof a == 'boolean') {
-    assert.sameValue(v, a);
-  } else {
-    saved[sizes[i]] = v;
-  }
-}
-
-// This ought to be optimizable.  Make sure the answers are the same
-// as for the unoptimized case.
-
-assert.sameValue(Atomics.isLockFree(1), saved[1]);
-assert.sameValue(Atomics.isLockFree(2), saved[2]);
-assert.sameValue(Atomics.isLockFree(3), false);
-assert.sameValue(Atomics.isLockFree(4), true);
-assert.sameValue(Atomics.isLockFree(5), false);
-assert.sameValue(Atomics.isLockFree(6), false);
-assert.sameValue(Atomics.isLockFree(7), false);
-assert.sameValue(Atomics.isLockFree(8), false);
-assert.sameValue(Atomics.isLockFree(9), false);
-assert.sameValue(Atomics.isLockFree(10), false);
-assert.sameValue(Atomics.isLockFree(11), false);
-assert.sameValue(Atomics.isLockFree(12), false);
diff --git a/test/built-ins/Atomics/load/descriptor.js b/test/built-ins/Atomics/load/descriptor.js
index 65002a23d9ab5c5127d7136c9c52c908acf948f5..1320c21865301ec74b0c5acbdbcd54d985a7458d 100644
--- a/test/built-ins/Atomics/load/descriptor.js
+++ b/test/built-ins/Atomics/load/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "load");
-verifyNotEnumerable(Atomics, "load");
-verifyConfigurable(Atomics, "load");
+verifyProperty(Atomics, 'load', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/load/expected-return-value.js b/test/built-ins/Atomics/load/expected-return-value.js
index b2ad4e19ae0315f6f320196df1de982329ba5ba5..7116765a678b2a3cbcabf19a9593de82d038b5bd 100644
--- a/test/built-ins/Atomics/load/expected-return-value.js
+++ b/test/built-ins/Atomics/load/expected-return-value.js
@@ -30,11 +30,11 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
+var update = 0b00000001000000001000000010000001;
 
 assert.sameValue(Atomics.load(i32a, 0), 0);
 
-i32a[0] = value;
+i32a[0] = update;
 
-assert.sameValue(Atomics.load(i32a, 0), value);
+assert.sameValue(Atomics.load(i32a, 0), update);
 
diff --git a/test/built-ins/Atomics/load/length.js b/test/built-ins/Atomics/load/length.js
index 072711b9c2b3319ddde484e69ecbd832cc48db49..b917a387149938aa19ecb229cec9c559779b04ff 100644
--- a/test/built-ins/Atomics/load/length.js
+++ b/test/built-ins/Atomics/load/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.load.length, 2);
-
-verifyNotEnumerable(Atomics.load, "length");
-verifyNotWritable(Atomics.load, "length");
-verifyConfigurable(Atomics.load, "length");
+verifyProperty(Atomics.load, 'length', {
+  value: 2,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/load/name.js b/test/built-ins/Atomics/load/name.js
index 7629a7c09f256ed4499eed47ac2195bb6a0dfe86..279cf9664e4f10e6361a63d22fadbaeee1eaf9f0 100644
--- a/test/built-ins/Atomics/load/name.js
+++ b/test/built-ins/Atomics/load/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.load.name, "load");
-
-verifyNotEnumerable(Atomics.load, "name");
-verifyNotWritable(Atomics.load, "name");
-verifyConfigurable(Atomics.load, "name");
+verifyProperty(Atomics.load, 'name', {
+  value: 'load',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/or/descriptor.js b/test/built-ins/Atomics/or/descriptor.js
index f074365a8cbd0e8c989528ed9b071dc37dd2647e..f9f83981bb48f8ff34a4a6da350dd40bf82345fa 100644
--- a/test/built-ins/Atomics/or/descriptor.js
+++ b/test/built-ins/Atomics/or/descriptor.js
@@ -7,7 +7,8 @@ description: Testing descriptor property of Atomics.or
 includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
-
-verifyWritable(Atomics, "or");
-verifyNotEnumerable(Atomics, "or");
-verifyConfigurable(Atomics, "or");
+verifyProperty(Atomics, 'or', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/or/expected-return-value.js b/test/built-ins/Atomics/or/expected-return-value.js
index 1cb876ede60e03a899f4cb1e3306a97e900564ca..8e9a394ea02cab24891b986e41f57ae64d001966 100644
--- a/test/built-ins/Atomics/or/expected-return-value.js
+++ b/test/built-ins/Atomics/or/expected-return-value.js
@@ -29,7 +29,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
+var update = 0b00000001000000001000000010000001;
 
-assert.sameValue(Atomics.or(i32a, 0, value), 0);
-assert.sameValue(i32a[0], 0 | value);
+assert.sameValue(Atomics.or(i32a, 0, update), 0);
+assert.sameValue(i32a[0], 0 | update);
diff --git a/test/built-ins/Atomics/or/length.js b/test/built-ins/Atomics/or/length.js
index 05e2c4956370cc4da9fbbeceecfe06aaae2f8a5e..e09822bb47965ab6feba01cc165550f857949333 100644
--- a/test/built-ins/Atomics/or/length.js
+++ b/test/built-ins/Atomics/or/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.or.length, 3);
-
-verifyNotEnumerable(Atomics.or, "length");
-verifyNotWritable(Atomics.or, "length");
-verifyConfigurable(Atomics.or, "length");
+verifyProperty(Atomics.or, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/or/name.js b/test/built-ins/Atomics/or/name.js
index 4096e9697d109da7f220f6ba7fb76e190c0a7c5e..d1826272a5d13286114ecae94e2f526baf2a91aa 100644
--- a/test/built-ins/Atomics/or/name.js
+++ b/test/built-ins/Atomics/or/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.or.name, "or");
-
-verifyNotEnumerable(Atomics.or, "name");
-verifyNotWritable(Atomics.or, "name");
-verifyConfigurable(Atomics.or, "name");
+verifyProperty(Atomics.or, 'name', {
+  value: 'or',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/store/descriptor.js b/test/built-ins/Atomics/store/descriptor.js
index 342f7827bc96af8e35981312381fa6534d54ba2a..7b127363d0fe63a8c9cd9b3ddb75ac50548e9e29 100644
--- a/test/built-ins/Atomics/store/descriptor.js
+++ b/test/built-ins/Atomics/store/descriptor.js
@@ -7,7 +7,8 @@ description: Testing descriptor property of Atomics.store
 includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
-
-verifyWritable(Atomics, "store");
-verifyNotEnumerable(Atomics, "store");
-verifyConfigurable(Atomics, "store");
+verifyProperty(Atomics, 'store', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/store/expected-return-value.js b/test/built-ins/Atomics/store/expected-return-value.js
index 133b39ec92a425269531bbe7aae57c7c1bb3346d..763453d165d98f8853fe7d064a01a5726a12f8e6 100644
--- a/test/built-ins/Atomics/store/expected-return-value.js
+++ b/test/built-ins/Atomics/store/expected-return-value.js
@@ -20,7 +20,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var expect = 0b00000001000000001000000010000001;
+var update = 0b00000001000000001000000010000001;
 
-assert.sameValue(Atomics.store(i32a, 0, expect), expect);
-assert.sameValue(i32a[0], expect);
+assert.sameValue(Atomics.store(i32a, 0, update), update);
+assert.sameValue(i32a[0], update);
diff --git a/test/built-ins/Atomics/store/length.js b/test/built-ins/Atomics/store/length.js
index 9143f9459f9f69e65e928b5bae32bb11c4fc9108..53ffb0546c3aabb495bb6159ad13806d2d7d6697 100644
--- a/test/built-ins/Atomics/store/length.js
+++ b/test/built-ins/Atomics/store/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.store.length, 3);
-
-verifyNotEnumerable(Atomics.store, "length");
-verifyNotWritable(Atomics.store, "length");
-verifyConfigurable(Atomics.store, "length");
+verifyProperty(Atomics.store, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/store/name.js b/test/built-ins/Atomics/store/name.js
index 97d8ca3628b77e6bc9218361cc9c299e3056d891..75aceb62adafb6caf2e79b8ee805b20dc8bdba52 100644
--- a/test/built-ins/Atomics/store/name.js
+++ b/test/built-ins/Atomics/store/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.store.name, "store");
-
-verifyNotEnumerable(Atomics.store, "name");
-verifyNotWritable(Atomics.store, "name");
-verifyConfigurable(Atomics.store, "name");
+verifyProperty(Atomics.store, 'name', {
+  value: 'store',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/sub/descriptor.js b/test/built-ins/Atomics/sub/descriptor.js
index 8d81ad48a51ed81fcc6c7caafe8d8b2180dbde31..e1d59dde71218eecd4a4fe31234be128a82cae7c 100644
--- a/test/built-ins/Atomics/sub/descriptor.js
+++ b/test/built-ins/Atomics/sub/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "sub");
-verifyNotEnumerable(Atomics, "sub");
-verifyConfigurable(Atomics, "sub");
+verifyProperty(Atomics, 'sub', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/sub/expected-return-value.js b/test/built-ins/Atomics/sub/expected-return-value.js
index 77ce9506e79af899df7fc6cc6149c05595e6bd75..9116a649d7e669bd8e0570c52dc48adc84e0645b 100644
--- a/test/built-ins/Atomics/sub/expected-return-value.js
+++ b/test/built-ins/Atomics/sub/expected-return-value.js
@@ -29,9 +29,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
+var update = 0b00000001000000001000000010000001;
 
-i32a[0] = value;
+i32a[0] = update;
 
-assert.sameValue(Atomics.sub(i32a, 0, value), value);
+assert.sameValue(Atomics.sub(i32a, 0, update), update);
 assert.sameValue(i32a[0], 0);
diff --git a/test/built-ins/Atomics/sub/length.js b/test/built-ins/Atomics/sub/length.js
index 8130e97385f70e6149948c38a5761292a5cb8809..e35f698597ce23f019a76db7c827e243f92684d0 100644
--- a/test/built-ins/Atomics/sub/length.js
+++ b/test/built-ins/Atomics/sub/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.sub.length, 3);
-
-verifyNotEnumerable(Atomics.sub, "length");
-verifyNotWritable(Atomics.sub, "length");
-verifyConfigurable(Atomics.sub, "length");
+verifyProperty(Atomics.sub, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/sub/name.js b/test/built-ins/Atomics/sub/name.js
index 64afa5d9f01cb66ebef38512f011ea3f7bdcbe7d..93ae7fab42935668c2b6c383d5ae165d907f233f 100644
--- a/test/built-ins/Atomics/sub/name.js
+++ b/test/built-ins/Atomics/sub/name.js
@@ -10,8 +10,10 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.sub.name, "sub");
+verifyProperty(Atomics.sub, 'name', {
+  value: 'sub',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
 
-verifyNotEnumerable(Atomics.sub, "name");
-verifyNotWritable(Atomics.sub, "name");
-verifyConfigurable(Atomics.sub, "name");
diff --git a/test/built-ins/Atomics/wait/bigint/did-timeout.js b/test/built-ins/Atomics/wait/bigint/did-timeout.js
index fee3b1982cb4f737a31564e9a2bc66cdd09438aa..47d99e1b687a19763b5494dc1ea459a9210762dc 100644
--- a/test/built-ins/Atomics/wait/bigint/did-timeout.js
+++ b/test/built-ins/Atomics/wait/bigint/did-timeout.js
@@ -26,9 +26,9 @@ function getReport() {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab, id) {
   var ia = new BigInt64Array(sab);
-  var then = Date.now();
+  var then = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(ia, 0, 0, 500)); // Timeout 500ms
-  $262.agent.report(Date.now() - then);           // Actual time can be more than 500ms
+  $262.agent.report($262.agent.monotonicNow() - then);           // Actual time can be more than 500ms
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js b/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js
index cc2d8a292de58e28118c096bcfac260d0ed4205d..93f3bc8c33cbf688bdf1b67a171f11ba37e8ab19 100644
--- a/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js
@@ -38,11 +38,11 @@ var toPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i64a = new BigInt64Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i64a, 0, 0, false));
   $262.agent.report(Atomics.wait(i64a, 0, 0, valueOf));
   $262.agent.report(Atomics.wait(i64a, 0, 0, toPrimitive));
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store-padded-time.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store-padded-time.js
index 7aa69020d63d8a0fcc58baa1d58c3cd5ca7d6322..2e7b540f6578388410fdd5d39799af15597d39d7 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store-padded-time.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store-padded-time.js
@@ -13,9 +13,9 @@ features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab, id) {
   var ia = new BigInt64Array(sab);
-  var then = Date.now();
+  var then = $262.agent.monotonicNow();
   Atomics.wait(ia, 0, 0);
-  var diff = Date.now() - then;        // Should be about 1000 ms but can be more
+  var diff = $262.agent.monotonicNow() - then;        // Should be about 1000 ms but can be more
   $262.agent.report(diff);
   $262.agent.leaving();
 })
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js
index 0dee43eb5a3deafdeeb5d94c598ec444f9386160..2296fb1f0d3766811011674d6d0612f0a53f876b 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js
@@ -23,10 +23,10 @@ const i64a = new BigInt64Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i64a = new BigInt64Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i64a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/descriptor.js b/test/built-ins/Atomics/wait/descriptor.js
index bfa9f3ac945f97f4d8ceadef8e684b0777f790aa..550d87b599c75e66452d4c91861df2e326006c3c 100644
--- a/test/built-ins/Atomics/wait/descriptor.js
+++ b/test/built-ins/Atomics/wait/descriptor.js
@@ -8,6 +8,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "wait");
-verifyNotEnumerable(Atomics, "wait");
-verifyConfigurable(Atomics, "wait");
+verifyProperty(Atomics, 'wait', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
+
diff --git a/test/built-ins/Atomics/wait/did-timeout.js b/test/built-ins/Atomics/wait/did-timeout.js
index 82c1f1beb19705a3aa7f8de35673344d943e2e2b..41ff82f5a65d0a987f253cc58a34b47c2a2e45fa 100644
--- a/test/built-ins/Atomics/wait/did-timeout.js
+++ b/test/built-ins/Atomics/wait/did-timeout.js
@@ -27,9 +27,9 @@ function getReport() {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab, id) {
   var i32a = new Int32Array(sab);
-  var then = Date.now();
+  var before = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i32a, 0, 0, 500)); // Timeout 500ms
-  $262.agent.report(Date.now() - then);           // Actual time can be more than 500ms
+  $262.agent.report($262.agent.monotonicNow() - before); // Actual time can be more than 500ms
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wait/false-for-timeout-agent.js b/test/built-ins/Atomics/wait/false-for-timeout-agent.js
index d54e57cf459c38c80a74c78ddba44eeb1a57d3e2..346ff606870f72aac3c1ea45a2c44355c9297c96 100644
--- a/test/built-ins/Atomics/wait/false-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/false-for-timeout-agent.js
@@ -40,11 +40,11 @@ var toPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var before = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i32a, 0, 0, false));
   $262.agent.report(Atomics.wait(i32a, 0, 0, valueOf));
   $262.agent.report(Atomics.wait(i32a, 0, 0, toPrimitive));
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - before);
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wait/length.js b/test/built-ins/Atomics/wait/length.js
index 53dbc3f52c42a8570fe4f2e25197974ac421983d..3452475b2935354f31aa30f6621266ed27fb1071 100644
--- a/test/built-ins/Atomics/wait/length.js
+++ b/test/built-ins/Atomics/wait/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.wait.length, 4);
-
-verifyNotEnumerable(Atomics.wait, "length");
-verifyNotWritable(Atomics.wait, "length");
-verifyConfigurable(Atomics.wait, "length");
+verifyProperty(Atomics.wait, 'length', {
+  value: 4,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/wait/name.js b/test/built-ins/Atomics/wait/name.js
index 38d22dda68eb5d38ab95b27e7d1e91c50b56cea1..6c10aa19e62d1444c4e086d63d163a3b11ec9fd4 100644
--- a/test/built-ins/Atomics/wait/name.js
+++ b/test/built-ins/Atomics/wait/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.wait.name, "wait");
-
-verifyNotEnumerable(Atomics.wait, "name");
-verifyNotWritable(Atomics.wait, "name");
-verifyConfigurable(Atomics.wait, "name");
+verifyProperty(Atomics.wait, 'name', {
+  value: 'wait',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js
index 14eafc31f7271fc3b2041315e80c4920e31ab111..24fde8580b6366203799c811d69525c9a0489aed 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js
index 64be29377eb17d41ea656d7177ee8bec3e589503..4c69ef53f7ca0c4f64f18388f9e2a5df4b9c0e42 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js
index 1aec3286c25eeb9c78e9924e5c1f538d369a2e7a..81458cf612f2f05f895ad57bf2d697fd6470b186 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js
index cb3f1d97f398b9ff66936917219f8373fe667166..383c548e5d9d960cc31cac75cc7838ce9247a466 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js
index 258ecce13f7b212e4c78c55c3f7273c67e76f393..b6f48d44715cb10316576bdfef0631ad065ee24c 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store-padded-time.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store-padded-time.js
index cc538140dd9c71b75433a1f9b11a3673b3fa6e06..c8c66eb86f69910023b660099471f0b07c787ddd 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store-padded-time.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store-padded-time.js
@@ -13,9 +13,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab, id) {
   var i32a = new Int32Array(sab);
-  var then = Date.now();
+  var then = $262.agent.monotonicNow();
   Atomics.wait(i32a, 0, 0);
-  var diff = Date.now() - then;        // Should be about 1000 ms but can be more
+  var diff = $262.agent.monotonicNow() - then;        // Should be about 1000 ms but can be more
   $262.agent.report(diff);
   $262.agent.leaving();
 })
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js
index 6cb8f24931a6eac8fb7508fa80e3e52baceff743..fbac920c9339a20f8c6db092b262163f4e2a18ab 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js
index 0bd3ee6e823e94fe72c9bf7e63c5d7447efe2665..908f30e37a8796d83965d0d6ad2c0f1005c4249d 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js
index ff4796715e92d88130aa5682f9518247b32031a2..5356b3fd779cd00d21206f7b2d34271a7ca7a7a5 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/null-for-timeout-agent.js b/test/built-ins/Atomics/wait/null-for-timeout-agent.js
index c7d376f457a37ad20a216920013c2778d740d296..1793d59ffdae3ebe53c9dd452d4064ca89cf969c 100644
--- a/test/built-ins/Atomics/wait/null-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/null-for-timeout-agent.js
@@ -40,11 +40,11 @@ var toPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var before = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i32a, 0, 0, null));
   $262.agent.report(Atomics.wait(i32a, 0, 0, valueOf));
   $262.agent.report(Atomics.wait(i32a, 0, 0, toPrimitive));
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - before);
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wait/object-for-timeout-agent.js b/test/built-ins/Atomics/wait/object-for-timeout-agent.js
index cca80c08c251fc82f68b7b97cd22dee01dd5deef..477d24df09ae3ba9acbfea67ffec30e9d0c9b7f4 100644
--- a/test/built-ins/Atomics/wait/object-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/object-for-timeout-agent.js
@@ -47,11 +47,11 @@ var toPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i32a, 0, 0, valueOf));
   $262.agent.report(Atomics.wait(i32a, 0, 0, toString));
   $262.agent.report(Atomics.wait(i32a, 0, 0, toPrimitive));
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js b/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js
index 738c78072e1006b5332cef852a27f270f6adb714..f4a068881ff5e96f280b5272cc12a0d17c7fe83b 100644
--- a/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js
+++ b/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js
@@ -40,7 +40,7 @@ var poisonedToPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   try {
     Atomics.wait(i32a, 0, 0, poisonedValueOf);
   } catch (error) {
@@ -51,7 +51,7 @@ $262.agent.receiveBroadcast(function(sab) {
   } catch (error) {
     $262.agent.report("poisonedToPrimitive");
   }
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js b/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js
index e341a344c90ead114abde420773c17f23970613e..997ad79246754c69a4a8045df86cb2b214c423b5 100644
--- a/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js
+++ b/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js
@@ -53,7 +53,7 @@ var poisonedToPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   try {
     Atomics.wait(i32a, Symbol("1"), poisonedValueOf, poisonedValueOf);
   } catch (error) {
@@ -64,7 +64,7 @@ $262.agent.receiveBroadcast(function(sab) {
   } catch (error) {
     $262.agent.report('Symbol("2")');
   }
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js b/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js
index 9dc6526e574047b4d66ed6181625577d60bdbdcc..9c23685c7c5051ea000e857d9434206cb0357c88 100644
--- a/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js
+++ b/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js
@@ -26,7 +26,7 @@ function getReport() {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   try {
     Atomics.wait(i32a, 0, 0, Symbol("1"));
   } catch (error) {
@@ -37,7 +37,7 @@ $262.agent.receiveBroadcast(function(sab) {
   } catch (error) {
     $262.agent.report('Symbol("2")');
   }
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js b/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js
index 35f1c9aae36061829201911ee8ddab7317bb20da..b3f582db00d601c6f22073fc415428f855c03932 100644
--- a/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js
+++ b/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js
@@ -43,7 +43,7 @@ var poisonedToPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   try {
     Atomics.wait(i32a, 0, Symbol("1"), poisonedValueOf);
   } catch (error) {
@@ -54,7 +54,7 @@ $262.agent.receiveBroadcast(function(sab) {
   } catch (error) {
     $262.agent.report('Symbol("2")');
   }
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/true-for-timeout-agent.js b/test/built-ins/Atomics/wait/true-for-timeout-agent.js
index 53b3b50e2f942e14246e063e65cac25cc81b62fe..7e3b1fb0c3991772779d5863c32ab5864ae4d1a1 100644
--- a/test/built-ins/Atomics/wait/true-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/true-for-timeout-agent.js
@@ -40,11 +40,11 @@ var toPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i32a, 0, 0, true));
   $262.agent.report(Atomics.wait(i32a, 0, 0, valueOf));
   $262.agent.report(Atomics.wait(i32a, 0, 0, toPrimitive));
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js b/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js
index 6f9bb220c2538a7f55f2bbbbb54e943685e696b0..20bfe22a5c277a288e0818b0a00549a331e0c56b 100644
--- a/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js
+++ b/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js
@@ -70,7 +70,7 @@ var i32a = new Int32Array(new SharedArrayBuffer(4));
 
 $262.agent.broadcast(i32a.buffer);
 
-var orderWhichAgentsWereStarted = getReport() + getReport() + getReport(); // can be started in any order
+var orderAgentsStarted = getReport() + getReport() + getReport(); // can be started in any order
 
 assert.sameValue(Atomics.wake(i32a, 0, 1), 1);
 
@@ -84,4 +84,4 @@ assert.sameValue(Atomics.wake(i32a, 0, 1), 1);
 
 orderAgentsWereWoken += getReport();
 
-assert.sameValue(orderWhichAgentsWereStarted, orderAgentsWereWoken);  // agents should wake in the same order as they were started FIFO
+assert.sameValue(orderAgentsStarted, orderAgentsWereWoken);  // agents should wake in the same order as they were started FIFO
diff --git a/test/built-ins/Atomics/wait/was-woken.js b/test/built-ins/Atomics/wait/was-woken.js
index 6fcaefca10eff264cb9706a7f65973510d383240..9bba4693f0e2d805cdb12e805e7925dab7e996d5 100644
--- a/test/built-ins/Atomics/wait/was-woken.js
+++ b/test/built-ins/Atomics/wait/was-woken.js
@@ -18,15 +18,15 @@ function getReport() {
 
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab, id) {
-  var ia = new Int32Array(sab);
-  $262.agent.report(Atomics.wait(ia, 0, 0)); // No timeout => Infinity
+  var i32a = new Int32Array(sab);
+  $262.agent.report(Atomics.wait(i32a, 0, 0)); // No timeout => Infinity
   $262.agent.leaving();
 });
 `);
 
-var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
+var i32a = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
 
-$262.agent.broadcast(ia.buffer);
+$262.agent.broadcast(i32a.buffer);
 $262.agent.sleep(500); // Give the agent a chance to wait
-Atomics.wake(ia, 0);
+Atomics.wake(i32a, 0);
 assert.sameValue(getReport(), "ok");
diff --git a/test/built-ins/Atomics/wake/descriptor.js b/test/built-ins/Atomics/wake/descriptor.js
index 395b3c35f54ca8318f1a0f5595b314fc07f6fd8e..d22f2ebb280b64759ecaf1d74503ab6bee99e45e 100644
--- a/test/built-ins/Atomics/wake/descriptor.js
+++ b/test/built-ins/Atomics/wake/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "wake");
-verifyNotEnumerable(Atomics, "wake");
-verifyConfigurable(Atomics, "wake");
+verifyProperty(Atomics, 'wake', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/wake/length.js b/test/built-ins/Atomics/wake/length.js
index f275634fec4fd9a7aa037e886adcff2661d35690..a2efb99e9213c9296f728fcd13c9afaa29833774 100644
--- a/test/built-ins/Atomics/wake/length.js
+++ b/test/built-ins/Atomics/wake/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.wake.length, 3);
-
-verifyNotEnumerable(Atomics.wake, "length");
-verifyNotWritable(Atomics.wake, "length");
-verifyConfigurable(Atomics.wake, "length");
+verifyProperty(Atomics.wake, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/wake/name.js b/test/built-ins/Atomics/wake/name.js
index 434e272392896c3891d48721a601a0cbf62acc35..0a2b2c956e4be85da44600ed2b84a4510b750a41 100644
--- a/test/built-ins/Atomics/wake/name.js
+++ b/test/built-ins/Atomics/wake/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.wake.name, "wake");
-
-verifyNotEnumerable(Atomics.wake, "name");
-verifyNotWritable(Atomics.wake, "name");
-verifyConfigurable(Atomics.wake, "name");
+verifyProperty(Atomics.wake, 'name', {
+  value: 'wake',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/wake/negative-count.js b/test/built-ins/Atomics/wake/negative-count.js
index 3c8c6c83b6d6431a30be9c80547a999a485f7312..917f0d76ec7268491204c5fa95e738f147a3c0bc 100644
--- a/test/built-ins/Atomics/wake/negative-count.js
+++ b/test/built-ins/Atomics/wake/negative-count.js
@@ -11,7 +11,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
   var ia = new Int32Array(sab);
-  $262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We will timeout eventually
+  $262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // Timeout after 1 second
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wake/wake-all-on-loc.js b/test/built-ins/Atomics/wake/wake-all-on-loc.js
index 552eb52b6ce4f37a50522c494ab915f2a53dce88..3c94b89201873c7d6de550ed92332ec60eea0057 100644
--- a/test/built-ins/Atomics/wake/wake-all-on-loc.js
+++ b/test/built-ins/Atomics/wake/wake-all-on-loc.js
@@ -19,9 +19,9 @@ var NUMAGENT = 3;
 for (var i=0; i < NUMAGENT; i++) {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  Atomics.add(ia, ${RUNNING}, 1);
-  $262.agent.report("A " + Atomics.wait(ia, ${WAKEUP}, 0));
+  var i32a = new Int32Array(sab);
+  Atomics.add(i32a, ${RUNNING}, 1);
+  $262.agent.report("A " + Atomics.wait(i32a, ${WAKEUP}, 0));
   $262.agent.leaving();
 })
 `);
@@ -29,26 +29,26 @@ $262.agent.receiveBroadcast(function(sab) {
 
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  Atomics.add(ia, ${RUNNING}, 1);
+  var i32a = new Int32Array(sab);
+  Atomics.add(i32a, ${RUNNING}, 1);
   // This will always time out.
-  $262.agent.report("B " + Atomics.wait(ia, ${DUMMY}, 0, 10));
+  $262.agent.report("B " + Atomics.wait(i32a, ${DUMMY}, 0, 10));
   $262.agent.leaving();
 })
 `);
 
-var ia = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
-$262.agent.broadcast(ia.buffer);
+var i32a = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
+$262.agent.broadcast(i32a.buffer);
 
 // Wait for agents to be running.
-waitUntil(ia, RUNNING, NUMAGENT + 1);
+waitUntil(i32a, RUNNING, NUMAGENT + 1);
 
 // Then wait some more to give the agents a fair chance to wait.  If we don't,
 // we risk sending the wakeup before agents are sleeping, and we hang.
 $262.agent.sleep(50);
 
 // Wake all waiting on WAKEUP, should be 3 always, they won't time out.
-assert.sameValue(Atomics.wake(ia, WAKEUP), NUMAGENT);
+assert.sameValue(Atomics.wake(i32a, WAKEUP), NUMAGENT);
 
 var rs = [];
 for (var i = 0; i < NUMAGENT + 1; i++) {
@@ -69,11 +69,11 @@ function getReport() {
   return r;
 }
 
-function waitUntil(ia, k, value) {
+function waitUntil(i32a, k, value) {
   var i = 0;
-  while (Atomics.load(ia, k) !== value && i < 15) {
+  while (Atomics.load(i32a, k) !== value && i < 15) {
     $262.agent.sleep(10);
     i++;
   }
-  assert.sameValue(Atomics.load(ia, k), value, "All agents are running");
+  assert.sameValue(Atomics.load(i32a, k), value, "All agents are running");
 }
diff --git a/test/built-ins/Atomics/wake/wake-all.js b/test/built-ins/Atomics/wake/wake-all.js
index e21152928060dc48456bdaf0d8deb555a2f990f1..25ef337015fb01354b17a7ce81ddf8ceef3c2ffa 100644
--- a/test/built-ins/Atomics/wake/wake-all.js
+++ b/test/built-ins/Atomics/wake/wake-all.js
@@ -18,9 +18,9 @@ var NUMAGENT = 3;
 for (var i=0; i < NUMAGENT; i++) {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  Atomics.add(ia, ${RUNNING}, 1);
-  $262.agent.report("A " + Atomics.wait(ia, ${WAKEUP}, 0));
+  var i32a = new Int32Array(sab);
+  Atomics.add(i32a, ${RUNNING}, 1);
+  $262.agent.report("A " + Atomics.wait(i32a, ${WAKEUP}, 0));
   $262.agent.leaving();
 })
 `);
@@ -28,26 +28,26 @@ $262.agent.receiveBroadcast(function(sab) {
 
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  Atomics.add(ia, ${RUNNING}, 1);
+  var i32a = new Int32Array(sab);
+  Atomics.add(i32a, ${RUNNING}, 1);
   // This will always time out.
-  $262.agent.report("B " + Atomics.wait(ia, ${DUMMY}, 0, 10));
+  $262.agent.report("B " + Atomics.wait(i32a, ${DUMMY}, 0, 10));
   $262.agent.leaving();
 })
 `);
 
-var ia = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
-$262.agent.broadcast(ia.buffer);
+var i32a = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
+$262.agent.broadcast(i32a.buffer);
 
 // Wait for agents to be running.
-waitUntil(ia, RUNNING, NUMAGENT + 1);
+waitUntil(i32a, RUNNING, NUMAGENT + 1);
 
 // Then wait some more to give the agents a fair chance to wait.  If we don't,
 // we risk sending the wakeup before agents are sleeping, and we hang.
 $262.agent.sleep(50);
 
 // Wake all waiting on WAKEUP, should be 3 always, they won't time out.
-assert.sameValue(Atomics.wake(ia, WAKEUP), NUMAGENT);
+assert.sameValue(Atomics.wake(i32a, WAKEUP), NUMAGENT);
 
 var rs = [];
 for (var i = 0; i < NUMAGENT + 1; i++) {
@@ -68,11 +68,11 @@ function getReport() {
   return r;
 }
 
-function waitUntil(ia, k, value) {
+function waitUntil(i32a, k, value) {
   var i = 0;
-  while (Atomics.load(ia, k) !== value && i < 15) {
+  while (Atomics.load(i32a, k) !== value && i < 15) {
     $262.agent.sleep(10);
     i++;
   }
-  assert.sameValue(Atomics.load(ia, k), value, "All agents are running");
+  assert.sameValue(Atomics.load(i32a, k), value, "All agents are running");
 }
diff --git a/test/built-ins/Atomics/wake/wake-in-order.js b/test/built-ins/Atomics/wake/wake-in-order.js
index 8598b84b0d2455e1da5faf0717712a6581277bf8..60d00dc9d2ff762816929b52091c12bf72a481d5 100644
--- a/test/built-ins/Atomics/wake/wake-in-order.js
+++ b/test/built-ins/Atomics/wake/wake-in-order.js
@@ -19,38 +19,38 @@ var NUMELEM = RUNNING + 1;
 // them go into a wait, thus controlling the waiting order.  Then we wake them
 // one by one and observe the wakeup order.
 
-for ( var i=0 ; i < NUMAGENT ; i++ ) {
+for (var i = 0; i < NUMAGENT; i++) {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  Atomics.add(ia, ${RUNNING}, 1);
-  while (Atomics.load(ia, ${SPIN + i}) === 0)
+  var i32a = new Int32Array(sab);
+  Atomics.add(i32a, ${RUNNING}, 1);
+  while (Atomics.load(i32a, ${SPIN + i}) === 0)
       /* nothing */ ;
-  $262.agent.report(${i} + Atomics.wait(ia, ${WAKEUP}, 0));
+  $262.agent.report(${i} + Atomics.wait(i32a, ${WAKEUP}, 0));
   $262.agent.leaving();
-})
+});
 `);
 }
 
-var ia = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
-$262.agent.broadcast(ia.buffer);
+var i32a = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
+$262.agent.broadcast(i32a.buffer);
 
 // Wait for agents to be running.
-waitUntil(ia, RUNNING, NUMAGENT);
+waitUntil(i32a, RUNNING, NUMAGENT);
 
 // Then wait some more to give the agents a fair chance to wait.  If we don't,
 // we risk sending the wakeup before agents are sleeping, and we hang.
 $262.agent.sleep(50);
 
-// Make them sleep in order 0 1 2 on ia[0]
+// Make them sleep in order 0 1 2 on i32a[0]
 for (var i = 0; i < NUMAGENT; i++) {
-  Atomics.store(ia, SPIN + i, 1);
+  Atomics.store(i32a, SPIN + i, 1);
   $262.agent.sleep(50);
 }
 
 // Wake them up one at a time and check the order is 0 1 2
 for (var i = 0; i < NUMAGENT; i++) {
-  assert.sameValue(Atomics.wake(ia, WAKEUP, 1), 1);
+  assert.sameValue(Atomics.wake(i32a, WAKEUP, 1), 1);
   assert.sameValue(getReport(), i + "ok");
 }
 
@@ -62,11 +62,11 @@ function getReport() {
   return r;
 }
 
-function waitUntil(ia, k, value) {
+function waitUntil(i32a, k, value) {
   var i = 0;
-  while (Atomics.load(ia, k) !== value && i < 15) {
+  while (Atomics.load(i32a, k) !== value && i < 15) {
     $262.agent.sleep(10);
     i++;
   }
-  assert.sameValue(Atomics.load(ia, k), value, "All agents are running");
+  assert.sameValue(Atomics.load(i32a, k), value, 'All agents are running');
 }
diff --git a/test/built-ins/Atomics/wake/wake-nan.js b/test/built-ins/Atomics/wake/wake-nan.js
index 5fa193e20eef29ac00df31b967fdbb07c3bf8f36..14c47d69ce91b7723e190a743497752bcc013f15 100644
--- a/test/built-ins/Atomics/wake/wake-nan.js
+++ b/test/built-ins/Atomics/wake/wake-nan.js
@@ -10,17 +10,17 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  $262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We will timeout eventually
+  var i32a = new Int32Array(sab);
+  $262.agent.report(Atomics.wait(i32a, 0, 0, 1000)); // We will timeout eventually
   $262.agent.leaving();
 })
 `);
 
-var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
+var i32a = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
 
-$262.agent.broadcast(ia.buffer);
+$262.agent.broadcast(i32a.buffer);
 $262.agent.sleep(500); // Give the agent a chance to wait
-assert.sameValue(Atomics.wake(ia, 0, NaN), 0); // Don't actually wake it
+assert.sameValue(Atomics.wake(i32a, 0, NaN), 0); // Don't actually wake it
 assert.sameValue(getReport(), "timed-out");
 
 function getReport() {
diff --git a/test/built-ins/Atomics/xor/descriptor.js b/test/built-ins/Atomics/xor/descriptor.js
index f837f67f51209e74cb5d9960412fa8364b44c02c..80ad13066edfcf4cec81bc2888c52d1c78e3fb6a 100644
--- a/test/built-ins/Atomics/xor/descriptor.js
+++ b/test/built-ins/Atomics/xor/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "xor");
-verifyNotEnumerable(Atomics, "xor");
-verifyConfigurable(Atomics, "xor");
+verifyProperty(Atomics, 'xor', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/xor/expected-return-value.js b/test/built-ins/Atomics/xor/expected-return-value.js
index a9bfbbb48caafdda5cd5b34a55287cff615f9e80..0323e77676023783f16071cd2ac72c94c2178e61 100644
--- a/test/built-ins/Atomics/xor/expected-return-value.js
+++ b/test/built-ins/Atomics/xor/expected-return-value.js
@@ -29,10 +29,10 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
-var other = 0b00000001111111111000000011111111;
+var initial = 0b00000001000000001000000010000001;
+var update = 0b00000001111111111000000011111111;
 
-i32a[0] = value;
+i32a[0] = initial;
 
-assert.sameValue(Atomics.xor(i32a, 0, other), value);
-assert.sameValue(i32a[0], value ^ other);
+assert.sameValue(Atomics.xor(i32a, 0, update), initial);
+assert.sameValue(i32a[0], initial ^ update);
diff --git a/test/built-ins/Atomics/xor/length.js b/test/built-ins/Atomics/xor/length.js
index 1a00282eef068ec59d631382340d55e4d6e74001..fd5fa67bb29413318af0a4378437e9b72f08b3e6 100644
--- a/test/built-ins/Atomics/xor/length.js
+++ b/test/built-ins/Atomics/xor/length.js
@@ -24,8 +24,10 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.xor.length, 3);
+verifyProperty(Atomics.xor, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
 
-verifyNotEnumerable(Atomics.xor, "length");
-verifyNotWritable(Atomics.xor, "length");
-verifyConfigurable(Atomics.xor, "length");
diff --git a/test/built-ins/Atomics/xor/name.js b/test/built-ins/Atomics/xor/name.js
index f632daa105995a26a525162ea071791339ef73d7..68d125115a1fdbf9cfbd515c808deb2d2387684e 100644
--- a/test/built-ins/Atomics/xor/name.js
+++ b/test/built-ins/Atomics/xor/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.xor.name, "xor");
-
-verifyNotEnumerable(Atomics.xor, "name");
-verifyNotWritable(Atomics.xor, "name");
-verifyConfigurable(Atomics.xor, "name");
+verifyProperty(Atomics.xor, 'name', {
+  value: 'xor',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});