NativeIO: Replace SharedArrayBuffer in I/O with transferred ArrayBuffer #28224
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This CL changes the type of the buffer used when reading/writing from a
SharedArrayBuffer (SAB) to an ArrayBuffer. SABs were originally used to
clearly denote that the buffer would be observably manipulated by
another "thread" (i.e. the OS as it filled or read the buffer). This had
the risk of allowing identification of the host configuration, by
observing how the buffer was accessed.
The new approach takes an ArrayBuffer, and immediately transfers it. The
given buffer becomes detached (and therefore cannot be used to observe
host operations). The returned buffer references the same memory
allocation as in the inputted one, so there are no copies.
There are 3 different types of changes in this CL:
changes were made
found in blink/web_tests/external/wpt/native-io/read_write_async_basic.tentative.https.any.js
and
blink/web_tests/external/wpt/native-io/read_write_sync_basic.tentative.https.any.js
Design doc: https://docs.google.com/document/d/1yJv2b5yBhyIj4kOEExEu1s6oZELm2IjywbOrWwNdkuU
Bug: 914488
Change-Id: Iac7b9f4a10e75fee7caa8039d054c7df46f83477
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2784820
Commit-Queue: Emanuel Krivoy <krivoy@google.com>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Richard Stotz <rstz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#869786}