* 仕様書

[REFS[
- [10] [CITE[ECMAScript® 2018 Language Specification]] ([TIME[2017-06-14 04:16:40 +09:00]]) <https://tc39.github.io/ecma262/#sec-sharedarraybuffer-objects>
]REFS]

* 状態

[11] 
[CODE(DOMi)@en[ArrayBuffer]] と同じく、
[F(ss)[ArrayBufferData]] と [F(ss)[ArrayBufferByteLength]] を持ちます。

;; [CODE(DOMi)@en[ArrayBuffer]] を参照。

[12] 
[F(ss)[ArrayBufferData]] の値は[[共有データブロック]]となります。

* 文脈

[13] 
[CODE(DOMi)@en[SharedArrayBuffer]] [[コンストラクター]]に[[バイト数]]を指定することで、 ([CODE(JS)@en[AllocateSharedArrayBuffer]] により) 指定した[[長さ]]の 
[CODE(DOMi)@en[SharedArrayBuffer]] の[[インスタンス]]を作成できます。

[14] 
[CODE(DOMi)@en[SharedArrayBuffer]] [[オブジェクト]]の 
[CODE(DOMm)@en[slice]] [[メソッド]]は、新しい 
[CODE(DOMi)@en[SharedArrayBuffer]] [[オブジェクト]]を作成します。

[15] 
[[構造化クローン]]により作成されることがあります。

* 演算

[16] 
[[仕様書]]で使われる内部の[[演算]]として、
[[detach]] に関する
[CODE[IsDetachedBuffer]] があります。

* 歴史

[1] [CITE[ECMAScript Shared Memory and Atomics]]
([TIME[2016-12-15 08:11:14 +09:00]])
<https://tc39.github.io/ecmascript_sharedmem/shmem.html>

[2] [CITE@en[Integrate SharedArrayBuffers · Issue #2260 · whatwg/html]]
([TIME[2017-01-12 14:00:07 +09:00]])
<https://github.com/whatwg/html/issues/2260>

[3] [CITE@en[StructuredClone serialize / deserialize · Issue #935 · whatwg/html]]
([TIME[2017-03-21 18:09:44 +09:00]])
<https://github.com/whatwg/html/issues/935>

[4] [CITE@en[Do we need to mandate agents and event loops being 1:1? · Issue #2526 · whatwg/html]]
([TIME[2017-04-13 22:27:30 +09:00]])
<https://github.com/whatwg/html/issues/2526>

[5] [CITE@en[Serializing and deserializing SharedArrayBuffer]]
([[annevk]]著, [TIME[2017-04-28 16:38:26 +09:00]])
<https://github.com/whatwg/html/commit/b3f8779c76de7718bc970fdbccda18a5164d2f98>

[6] [CITE[The WHATWG Blog — HTML and shared memory]]
([TIME[2017-05-02 08:59:34 +09:00]])
<https://blog.whatwg.org/html-and-shared-memory>

[7] [CITE@en[SharedArrayBuffer + Atomics · Issue #165 · w3ctag/design-reviews]]
([TIME[2017-05-12 23:22:45 +09:00]])
<https://github.com/w3ctag/design-reviews/issues/165>

[8] [CITE@en-US[SharedArrayBuffer - JavaScript | MDN]]
([TIME[2017-05-03 20:52:18 +09:00]])
<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer>

[9] [CITE@en[Add '''['''AllowShared''']''' to allow accepting SharedArrayBuffers]]
([[domenic]]著, [TIME[2017-04-29 07:10:34 +09:00]])
<https://github.com/heycam/webidl/commit/c59bdcbcf2039c89eb7ea9a35e1e2dba621519ec>

[17] [CITE[Actions required to mitigate Speculative Side-Channel Attack techniques - The Chromium Projects]]
([TIME[2018-01-09 10:37:14 +09:00]])
<https://www.chromium.org/Home/chromium-security/ssca>

[18] [CITE@en-US[Mitigating speculative execution side-channel attacks in Microsoft Edge and Internet Explorer - Microsoft Edge Dev BlogMicrosoft Edge Dev Blog]]
([TIME[2018-01-09 11:13:06 +09:00]])
<https://blogs.windows.com/msedgedev/2018/01/03/speculative-execution-mitigations-microsoft-edge-internet-explorer/>

[19] [CITE@en-US[Mitigations landing for new class of timing attack | Mozilla Security Blog]]
([TIME[2018-01-09 11:23:44 +09:00]])
<https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/>

[20] [CITE@en[Speculative execution side-channel attack ("Spectre") — Mozilla]]
([TIME[2018-01-09 11:25:44 +09:00]])
<https://www.mozilla.org/en-US/security/advisories/mfsa2018-01/>

[21] [CITE@en[181266 – Disable SharedArrayBuffers from Web API]]
([TIME[2018-01-09 23:46:44 +09:00]])
<https://bugs.webkit.org/show_bug.cgi?id=181266>

[22] [CITE[What Spectre and Meltdown Mean For WebKit | WebKit]]
([TIME[2018-01-11 15:22:39 +09:00]])
<https://webkit.org/blog/8048/what-spectre-and-meltdown-mean-for-webkit/>

[23] [CITE@en[Meltdown/Spectre  |  Web  |  Google Developers]]
([TIME[2018-02-08 00:05:08 +09:00]])
<https://developers.google.com/web/updates/2018/02/meltdown-spectre>

[24] [CITE@en[Clarify and explain agents and agent clusters]]
([[domenic]]著, [TIME[2018-07-26 02:32:25 +09:00]])
<https://github.com/whatwg/html/commit/db6d0df0b681d0b83a35b60302ad5077e59bb8aa>

[25] [CITE@en[Add Origin-aware Transferrables · Issue #3766 · whatwg/html]]
([TIME[2018-07-26 23:16:27 +09:00]])
<https://github.com/whatwg/html/issues/3766>

[26] [CITE@en[Add worklets to JavaScript agent clusters]]
([[hoch]]著, [TIME[2018-10-16 05:46:34 +09:00]])
<https://github.com/whatwg/html/commit/bddeb25e72fc44456057c846a87775c65f0f9d42>

[27] [CITE@en[Add a Privacy and Security Considerations section]]
([[Ms2ger]]著, [TIME[2019-02-16 01:30:23 +09:00]])
<https://github.com/heycam/webidl/commit/4d049be92182a1dcf02d8a0a0b6dc60586a395dc>

[28] [CITE@en[Add a Privacy and Security Considerations section by Ms2ger · Pull Request #647 · heycam/webidl]]
([TIME[2019-07-15 20:23:04 +09:00]])
<https://github.com/heycam/webidl/pull/647>

[29] [CITE@en[Allow SharedArrayBuffer]]
([[annevk]]著, [TIME[2019-10-09 18:58:56 +09:00]])
<https://github.com/whatwg/encoding/commit/c1ad763cbece33a7fd51397c6de24faa74c98318>

[30] [CITE@en[Make decode() and encodeInto() accept SharedArrayBuffer-backed views · Issue #172 · whatwg/encoding]]
([TIME[2020-02-04 19:47:55 +09:00]])
<https://github.com/whatwg/encoding/issues/172>

[31] [CITE@en[Allow SharedArrayBuffer by annevk · Pull Request #182 · whatwg/encoding]]
([TIME[2020-02-04 19:48:38 +09:00]])
<https://github.com/whatwg/encoding/pull/182>