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

[stdlib] Implement Atomics module #30553

Closed
wants to merge 42 commits into from
Closed

Commits on Mar 21, 2020

  1. Configuration menu
    Copy the full SHA
    0723a38 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2020

  1. Configuration menu
    Copy the full SHA
    694bbb7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3f4b6fb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    84eb34f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9b05757 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2020

  1. Configuration menu
    Copy the full SHA
    f4006a6 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2020

  1. Configuration menu
    Copy the full SHA
    63f041e View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2020

  1. Configuration menu
    Copy the full SHA
    a32ef12 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6c4a639 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9576528 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f123869 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2020

  1. Configuration menu
    Copy the full SHA
    40d349b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0a263f6 View commit details
    Browse the repository at this point in the history
  3. [Atomics] Simplify gyb

    lorentey committed Mar 30, 2020
    Configuration menu
    Copy the full SHA
    8eda0c8 View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2020

  1. Configuration menu
    Copy the full SHA
    eb061c7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6f685a4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4f1e412 View commit details
    Browse the repository at this point in the history
  4. [Atomics] UnsafeAtomicPointer<Value> ⟹ UnsafeAtomic<Value>

    It’s not really an atomic pointer to some value; rather, it’s an unsafe reference to an atomic value.
    lorentey committed Mar 31, 2020
    Configuration menu
    Copy the full SHA
    870a05d View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2020

  1. Configuration menu
    Copy the full SHA
    db68b96 View commit details
    Browse the repository at this point in the history
  2. [Atomics] Eliminate AtomicRepresentable

    Merge its functionality into AtomicProtocol itself.
    lorentey committed Apr 4, 2020
    Configuration menu
    Copy the full SHA
    add99f0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    25cbe2c View commit details
    Browse the repository at this point in the history
  4. [Atomics] Doc updates

    lorentey committed Apr 4, 2020
    Configuration menu
    Copy the full SHA
    c04d036 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7839acd View commit details
    Browse the repository at this point in the history
  6. [Atomics] Implement the weak compare-exchange operation

    (Only with separate success/failure orderings for now.)
    lorentey committed Apr 4, 2020
    Configuration menu
    Copy the full SHA
    be93fbe View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    bf5f4eb View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2020

  1. Configuration menu
    Copy the full SHA
    02b7191 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7bbee8 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2020

  1. [Atomic] Add some ceremonial naming prefixes: UnsafeAtomic ⟹ UnsafePo…

    …interToAtomic
    
    These aren’t really pointers, but this is how we like it.
    lorentey committed Apr 7, 2020
    Configuration menu
    Copy the full SHA
    81f7a33 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2020

  1. Configuration menu
    Copy the full SHA
    77e79ff View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    171865c View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2020

  1. Configuration menu
    Copy the full SHA
    3fd590a View commit details
    Browse the repository at this point in the history
  2. [Atomics] Split atomics into two protocol layers; overhaul optionals …

    …& storage mgmt
    
    - _PrimitiveAtomic is a new hidden protocol implementing the core atomic operations.
    - _PrimitiveAtomicOptional refines it adding nullability.
    - AtomicProtocol now consists of a _PrimitiveAtomic-constrained _AtomicStorage, plus conversion methods — all underscored.
    - Pointer types have opaque atomic storage.
    - User-visible atomic storage type is UnsafeAtomic.Storage — an opaque value type with a convenience initializer and a dispose() method.
    lorentey committed Apr 10, 2020
    Configuration menu
    Copy the full SHA
    de5c98d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4b31896 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    01a0184 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2020

  1. Configuration menu
    Copy the full SHA
    a032ff4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5f43d00 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    691f37e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    640e196 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ce1242b View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2020

  1. Configuration menu
    Copy the full SHA
    0e2274c View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2020

  1. Configuration menu
    Copy the full SHA
    e13f1fc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ad30578 View commit details
    Browse the repository at this point in the history