Atomics

Atomics オブジェクトは、静的なメソッドとして不可分操作を提供します。これらは SharedArrayBuffer および ArrayBuffer オブジェクトで使用されます。

解説

不可分操作は、 Atomics モジュール上に装備されています。他のグローバルオブジェクトと異なり、 Atomics はコンストラクターではありません。 new 演算子 を付けて使用したり、 Atomics オブジェクトを関数として呼び出したりすることはできません。 Atomics のすべてのプロパティとメソッドは静的です (例えば、Math オブジェクトの場合と同様です)。

不可分操作

メモリが共有されている場合、複数のスレッドがメモリー内の同じデータを読み書きできます。不可分操作では、予測される値の書き込みと読み込みを保証するため、次の演算が開始される前に現在の演算が完了し、その演算が割り込まれないようにします。

wait と notify

wait() メソッドと notify() メソッドは、 Linux の futex ("fast user-space mutex") を原型としており、特定の条件が true になるまで待つ手段を提供します。一般的にはブロッキング構造として使用されます。

静的メソッド

Atomics.add()
配列の指定した位置にある既存の値に指定した値を追加します。その位置にあった古い値を返します。
Atomics.and()
配列の指定した位置の値と指定した値でビット単位の論理積 (AND) を計算します。その位置にあった古い値を返します。
Atomics.compareExchange()
値が等しい場合、配列の指定した位置に値を格納します。古い値を返します。
Atomics.exchange()
配列の指定した位置に値を格納します。古い値を返します。
Atomics.isLockFree(size)
ロック機構と不可分操作のどちらを使用するかを決定するための最適化プリミティブです。指定した要素サイズの配列上の不可分操作が (ロックではなく) ハードウェアによる不可分操作を使用するよう実装されている場合、 true を返します。上級者だけが使用してください。
Atomics.load()
配列の指定した位置の値を返します。
Atomics.notify()
配列の指定した位置で待機中のエージェントに通知します。通知を受けたエージェントの数を返します。
Atomics.or()
配列の指定した位置の値と指定した値でビット単位の論理和 (OR) を計算します。その位置にあった古い値を返します。
Atomics.store()
配列の指定した位置に指定した値を格納します。その値を返します。
Atomics.sub()
配列の指定した位置の値から指定した値を減算します。その位置にあった古い値を返します。
Atomics.wait()
配列の指定位置に指定した値が含まれているか検証し、休止して待機するかタイムアウトします。 "ok", "not-equal", "timed-out" のいずれかの文字列を返します。呼び出したエージェントで待機が許可されていない場合は、 Error 例外を投げます (ほとんどのブラウザーは、ブラウザーのメインスレッドで wait() を許可していません)。
Atomics.xor()
配列の指定した位置の値と指定した値でビット単位の排他的論理和 (XOR) を計算します。その位置にあった古い値を返します。

Atomics の使用

const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0] = 5;

Atomics.add(ta, 0, 12); 
Atomics.load(ta, 0); // 12

Atomics.and(ta, 0, 1);
Atomics.load(ta, 0);  // 1

Atomics.compareExchange(ta, 0, 5, 12);
Atomics.load(ta, 0); // 12

Atomics.exchange(ta, 0, 12);
Atomics.load(ta, 0); // 12

Atomics.isLockFree(1); // true
Atomics.isLockFree(2); // true
Atomics.isLockFree(3); // false
Atomics.isLockFree(4); // true

Atomics.or(ta, 0, 1);
Atomics.load(ta, 0);  // 5

Atomics.store(ta, 0, 12); // 12

Atomics.sub(ta, 0, 2);
Atomics.load(ta, 0); // 3

Atomics.xor(ta, 0, 1);
Atomics.load(ta, 0); // 4

待機と通知

共有された Int32Array があるとします。

const sab = new SharedArrayBuffer(1024);
const int32 = new Int32Array(sab);

読み取りスレッドはスリープ状態で、 0 の位置が 0 である間は待機しています。これが true である限り、スレッドは進みません。しかし、書き込みスレッドが新しい値を格納すると、書き込みスレッドから通知され、新しい値 (123) を返します。

Atomics.wait(int32, 0, 0);
console.log(int32[0]); // 123

書き込みスレッドが新しい値を格納し、待機しているスレッドに書き込みが発生したことを通知します。

console.log(int32[0]); // 0;
Atomics.store(int32, 0, 123); 
Atomics.notify(int32, 0, 1);

仕様書

仕様書
ECMAScript (ECMA-262)
Atomics の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
AtomicsChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
Atomic operations on non-shared ArrayBuffer objectsChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 79IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 79Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なしnodejs 未対応 なし
addChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
andChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
compareExchangeChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
exchangeChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
isLockFreeChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
loadChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
notifyChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足 代替名
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
代替名 非標準の名前 wake を使用しています。
Edge 完全対応 79Firefox 完全対応 78
完全対応 78
完全対応 63
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 63: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
完全対応 57
補足 代替名 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
代替名 非標準の名前 wake を使用しています。
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 48 — 55
無効
無効 From version 48 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 46 — 48
補足 代替名 無効
補足 The count parameter defaults to 0 instead of the later-specified +Infinity.
代替名 非標準の名前 futexWake を使用しています。
無効 From version 46 until version 48 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1
代替名
未対応 10.1 — 11.1
代替名
代替名 非標準の名前 wake を使用しています。
WebView Android 未対応 60 — 63
補足 代替名
未対応 60 — 63
補足 代替名
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
代替名 非標準の名前 wake を使用しています。
Chrome Android 未対応 60 — 63
補足 代替名
未対応 60 — 63
補足 代替名
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
代替名 非標準の名前 wake を使用しています。
Firefox Android 完全対応 63
補足 無効
完全対応 63
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 63: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
完全対応 57
補足 代替名 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
代替名 非標準の名前 wake を使用しています。
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 48 — 55
無効
無効 From version 48 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 46 — 48
補足 代替名 無効
補足 The count parameter defaults to 0 instead of the later-specified +Infinity.
代替名 非標準の名前 futexWake を使用しています。
無効 From version 46 until version 48 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足 代替名
未対応 なし
補足 代替名
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
代替名 非標準の名前 wake を使用しています。
nodejs 完全対応 8.10.0
代替名
完全対応 8.10.0
代替名
代替名 非標準の名前 wake を使用しています。
orChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
storeChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
subChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
waitChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 48 — 55
無効
無効 From version 48 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 46 — 48
補足 代替名 無効
補足 The method returns values Atomics.OK, Atomics.TIMEDOUT, and Atomics.NOTEQUAL, instead of the later-specified strings.
代替名 非標準の名前 futexWait を使用しています。
無効 From version 46 until version 48 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 48 — 55
無効
無効 From version 48 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 46 — 48
補足 代替名 無効
補足 The method returns values Atomics.OK, Atomics.TIMEDOUT, and Atomics.NOTEQUAL, instead of the later-specified strings.
代替名 非標準の名前 futexWait を使用しています。
無効 From version 46 until version 48 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0
xorChrome 完全対応 68
完全対応 68
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge 完全対応 79
完全対応 79
未対応 16 — 17
補足
補足 Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox 完全対応 78
完全対応 78
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 10.1 — 11.1WebView Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android 未対応 60 — 63
補足
未対応 60 — 63
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Firefox Android 完全対応 57
補足 無効
完全対応 57
補足 無効
補足 Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
無効 From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 55 — 57
未対応 46 — 55
無効
無効 From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 未対応 なしSafari iOS 未対応 10.3 — 11.3Samsung Internet Android 未対応 なし
補足
未対応 なし
補足
補足 Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
nodejs 完全対応 8.10.0

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。
非標準の名前を使用しています。
非標準の名前を使用しています。

関連情報