Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Normative: Permit atomic operations on BigInt64Arrays #80

Merged
merged 1 commit into from Oct 12, 2017

Conversation

Projects
None yet
1 participant
@littledan
Copy link
Member

commented Sep 6, 2017

Previously, it was left up for future integration details to allow
BigInt64Array and BigUint64Array to use atomic operations. This patch
spells out the details of how these should work.

The semantics of Atomics.wait/wake are based on doing the wait/wake
on the relevant index of the underlying memory. For example, a
64-bit wait would be woken up by a 32-bit wake at twice the index.

Non-atomic writes to BigInt64Arrays can be torn, following the memory
model for Float64Array.

In some places in internal spec names, Int64 is replaced by BigInt64
for consistency.

Addresses #78

cc @lars-t-hansen

@anba anba referenced this pull request Sep 6, 2017

Closed

Review notes and questions #79

Normative: Permit atomic operations on BigInt64Arrays
Previously, it was left up for future integration details to allow
BigInt64Array and BigUint64Array to use atomic operations. This patch
spells out the details of how these should work.

The semantics of Atomics.wait/wake are based on doing the wait/wake
on the relevant index of the underlying memory. For example, a
64-bit wait would be woken up by a 32-bit wake at twice the index.

Non-atomic writes to BigInt64Arrays can be torn, following the memory
model for Float64Array.

In some places in internal spec names, `Int64` is replaced by `BigInt64`
for consistency.

Addresses #78
@littledan

This comment has been minimized.

Copy link
Member Author

commented Oct 12, 2017

This PR got consensus at the September 2017 TC39 meeting.

@littledan littledan merged commit b52a95b into master Oct 12, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.