summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/util.js10
-rw-r--r--src/node_util.cc2
-rw-r--r--test/parallel/test-util-format-shared-arraybuffer.js10
3 files changed, 17 insertions, 5 deletions
diff --git a/lib/util.js b/lib/util.js
index caab2651f3..f742e38433 100644
--- a/lib/util.js
+++ b/lib/util.js
@@ -435,9 +435,10 @@ function formatValue(ctx, value, recurseTimes) {
formatted = formatPrimitiveNoColor(ctx, raw);
return ctx.stylize('[Boolean: ' + formatted + ']', 'boolean');
}
- // Fast path for ArrayBuffer. Can't do the same for DataView because it
- // has a non-primitive .buffer property that we need to recurse for.
- if (binding.isArrayBuffer(value)) {
+ // Fast path for ArrayBuffer and SharedArrayBuffer.
+ // Can't do the same for DataView because it has a non-primitive
+ // .buffer property that we need to recurse for.
+ if (binding.isArrayBuffer(value) || binding.isSharedArrayBuffer(value)) {
return `${getConstructorOf(value).name}` +
` { byteLength: ${formatNumber(ctx, value.byteLength)} }`;
}
@@ -475,7 +476,8 @@ function formatValue(ctx, value, recurseTimes) {
keys.unshift('size');
empty = value.size === 0;
formatter = formatMap;
- } else if (binding.isArrayBuffer(value)) {
+ } else if (binding.isArrayBuffer(value) ||
+ binding.isSharedArrayBuffer(value)) {
braces = ['{', '}'];
keys.unshift('byteLength');
visibleKeys.byteLength = true;
diff --git a/src/node_util.cc b/src/node_util.cc
index b228af0050..c231983e57 100644
--- a/src/node_util.cc
+++ b/src/node_util.cc
@@ -20,7 +20,6 @@ using v8::Value;
#define VALUE_METHOD_MAP(V) \
V(isArrayBuffer, IsArrayBuffer) \
- V(isSharedArrayBuffer, IsSharedArrayBuffer) \
V(isDataView, IsDataView) \
V(isDate, IsDate) \
V(isMap, IsMap) \
@@ -29,6 +28,7 @@ using v8::Value;
V(isRegExp, IsRegExp) \
V(isSet, IsSet) \
V(isSetIterator, IsSetIterator) \
+ V(isSharedArrayBuffer, IsSharedArrayBuffer) \
V(isTypedArray, IsTypedArray)
diff --git a/test/parallel/test-util-format-shared-arraybuffer.js b/test/parallel/test-util-format-shared-arraybuffer.js
new file mode 100644
index 0000000000..d0c7dfe8c4
--- /dev/null
+++ b/test/parallel/test-util-format-shared-arraybuffer.js
@@ -0,0 +1,10 @@
+// Flags: --harmony_sharedarraybuffer
+
+'use strict';
+require('../common');
+const assert = require('assert');
+const util = require('util');
+
+/* global SharedArrayBuffer */
+const sab = new SharedArrayBuffer(4);
+assert.strictEqual(util.format(sab), 'SharedArrayBuffer { byteLength: 4 }');