1. 30 Jun, 2021 23 commits
  2. 29 Jun, 2021 5 commits
  3. 27 Jun, 2021 2 commits
  4. 13 Dec, 2020 2 commits
  5. 12 Oct, 2020 3 commits
  6. 11 Oct, 2020 3 commits
  7. 08 Oct, 2020 2 commits
    • Avoid using atomics in pool.c · 03c0938f
      Instead, globally initialize the system page size.
      lhchavez committed
    • Improve the support of atomics · cc1d7f5c
      This change:
      
      * Starts using GCC's and clang's `__atomic_*` intrinsics instead of the
        `__sync_*` ones, since the former supercede the latter (and can be
        safely replaced by their equivalent `__atomic_*` version with the
        sequentially consistent model).
      * Makes `git_atomic64`'s value `volatile`. Otherwise, this will make
        ThreadSanitizer complain.
      * Adds ways to load the values from atomics. As it turns out,
        unsynchronized read are okay only in some architectures, but if we
        want to be correct (and make ThreadSanitizer happy), those loads
        should also be performed with the atomic builtins.
      * Fixes two ThreadSanitizer warnings, as a proof-of-concept that this
        works:
        - Avoid directly accessing `git_refcount`'s `owner` directly, and
          instead makes all callers go through the `GIT_REFCOUNT_*()` macros,
          which also use the atomic utilities.
        - Makes `pool_system_page_size()` race-free.
      
      Part of: #5592
      lhchavez committed