)]}'
{
  "commit": "478e45fb94e541dfd3a53a23bbc8ed98337b8a77",
  "tree": "b096690c805ffab82565e71223c69885a5f78e27",
  "parents": [
    "2ac9e59d976de7f0dc4ebd2ecb7a17198b0d1ff4"
  ],
  "author": {
    "name": "Roger Sanders",
    "email": "sanders_roger@hotmail.com",
    "time": "Thu Nov 13 19:13:41 2025 +1100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Nov 13 10:13:41 2025 +0200"
  },
  "message": "[libc++] Improve performance of std::atomic_flag on Windows (#163524)\n\nOn Windows 8 and above, the WaitOnAddress, WakeByAddressSingle and\nWakeByAddressAll functions allow efficient implementation of the C++20\nwait and notify features of std::atomic_flag. These Windows functions\nhave never been made use of in libc++, leading to very poor performance\nof these features on Windows platforms, as they are implemented using a\nspin loop with backoff, rather than using any OS thread signalling\nwhatsoever. This change implements the use of these OS functions where\navailable, falling back to the original implementation on Windows\nversions prior to 8.\n\nRelevant API docs from Microsoft:\n\nhttps://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitonaddress\n\nhttps://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-wakebyaddresssingle\n\nhttps://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-wakebyaddressall\n\nFixes #127221\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b214ba1fd11c00fbb08e826e39448fe4d44fba0d",
      "old_mode": 33188,
      "old_path": "libcxx/src/atomic.cpp",
      "new_id": "b9e4aa30bbdcdfe3165993182c25dbc484c558b8",
      "new_mode": 33188,
      "new_path": "libcxx/src/atomic.cpp"
    }
  ]
}
