Implement SharedArrayBuffer.
authorbinji <binji@chromium.org>
Fri, 22 May 2015 13:43:38 +0000 (06:43 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 22 May 2015 13:43:17 +0000 (13:43 +0000)
commitaff8ebb0ebe165dceb03b567fe54633cf3f0a1f7
tree0f49ed5e8a5320004b33e7248b2b9fee42cf5ae8
parent953bf90bcbce3b5e8780ea306f3f2cc7dcc7ddf3
Implement SharedArrayBuffer.

This adds a new external type (v8::SharedArrayBuffer) that uses a JSArrayBuffer
under the hood. It can be distinguished from an ArrayBuffer by the newly-added
is_shared() bit.

Currently there is no difference in functionality between a SharedArrayBuffer
and an ArrayBuffer. However, a future CL will add the Atomics API, which is
only available on an SharedArrayBuffer. All non-atomic accesses are identical
to ArrayBuffer accesses.

LOG=N
BUG=

Review URL: https://codereview.chromium.org/1136553006

Cr-Commit-Position: refs/heads/master@{#28594}
20 files changed:
BUILD.gn
include/v8.h
src/api.cc
src/api.h
src/arraybuffer.js
src/bootstrapper.cc
src/contexts.h
src/factory.cc
src/factory.h
src/flag-definitions.h
src/harmony-sharedarraybuffer.js [new file with mode: 0644]
src/macros.py
src/objects-inl.h
src/objects.h
src/runtime/runtime-typedarray.cc
src/runtime/runtime.h
src/typedarray.js
test/cctest/test-api.cc
test/mjsunit/harmony/sharedarraybuffer.js [new file with mode: 0644]
tools/gyp/v8.gyp