diff --git a/harness/atomicsHelper.js b/harness/atomicsHelper.js
index 9c1217351e..3c24755558 100644
--- a/harness/atomicsHelper.js
+++ b/harness/atomicsHelper.js
@@ -227,10 +227,14 @@ $262.agent.waitUntil = function(typedArray, index, expected) {
  *   }
  */
 $262.agent.timeouts = {
-  yield: 100,
-  small: 200,
-  long: 1000,
-  huge: 10000,
+//  yield: 100,
+//  small: 200,
+//  long: 1000,
+//  huge: 10000,
+  yield: 20,
+  small: 20,
+  long: 100,
+  huge: 1000,
 };
 
 /**
diff --git a/harness/regExpUtils.js b/harness/regExpUtils.js
index be7039fda0..7b38abf8df 100644
--- a/harness/regExpUtils.js
+++ b/harness/regExpUtils.js
@@ -6,24 +6,27 @@ description: |
 defines: [buildString, testPropertyEscapes, matchValidator]
 ---*/
 
+if ($262 && typeof $262.codePointRange === "function") {
+    /* use C function to build the codePointRange (much faster with
+       slow JS engines) */
+    codePointRange = $262.codePointRange;
+} else {
+    codePointRange = function codePointRange(start, end) {
+        const codePoints = [];
+        let length = 0;
+        for (codePoint = start; codePoint < end; codePoint++) {
+            codePoints[length++] = codePoint;
+        }
+        return String.fromCodePoint.apply(null, codePoints);
+    }
+}
+
 function buildString({ loneCodePoints, ranges }) {
-  const CHUNK_SIZE = 10000;
-  let result = Reflect.apply(String.fromCodePoint, null, loneCodePoints);
-  for (let i = 0; i < ranges.length; i++) {
-    const range = ranges[i];
-    const start = range[0];
-    const end = range[1];
-    const codePoints = [];
-    for (let length = 0, codePoint = start; codePoint <= end; codePoint++) {
-      codePoints[length++] = codePoint;
-      if (length === CHUNK_SIZE) {
-        result += Reflect.apply(String.fromCodePoint, null, codePoints);
-        codePoints.length = length = 0;
-      }
+    let result = String.fromCodePoint.apply(null, loneCodePoints);
+    for (const [start, end] of ranges) {
+        result += codePointRange(start, end + 1);
     }
-    result += Reflect.apply(String.fromCodePoint, null, codePoints);
-  }
-  return result;
+    return result;
 }
 
 function testPropertyEscapes(regex, string, expression) {