)]}'
{
  "commit": "21201ed7a441ba06f8b699c6fe5d71c664eb0b4e",
  "tree": "300a7c0ace172cb954e1fbddcc4c850edcd45efb",
  "parents": [
    "dca80fc3a894149ecf4d5cd4d4fe665fe0274bb3"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Mon Feb 27 14:59:12 2023 +0000"
  },
  "committer": {
    "name": "swiftshader-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "swiftshader-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Feb 27 20:19:17 2023 +0000"
  },
  "message": "marl: emulate thread_local with pthreads\n\nYet another attempt to work around the sanitizer false positives.\n\nThis introduces the use of global static initializers, which I was half expecting Chromium builds to complain about, but there\u0027s not much I can do about that (in a performant way).\n\nBug: chromium:1337597\nChange-Id: Ie8c20252fbf357a285045362b82b6b3cde52ea77\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/70888\nTested-by: Ben Clayton \u003cbclayton@google.com\u003e\nCommit-Queue: Ben Clayton \u003cbclayton@google.com\u003e\nReviewed-by: Geoff Lang \u003cgeofflang@google.com\u003e\nPresubmit-Ready: Ben Clayton \u003cbclayton@google.com\u003e\nKokoro-Result: kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d7cb142fa4186bbc6ed4c40314e7743577d43aba",
      "old_mode": 33188,
      "old_path": "third_party/marl/BUILD.gn",
      "new_id": "4c0264892fb77d00b0ade0ba521dd6c3ea59ac20",
      "new_mode": 33188,
      "new_path": "third_party/marl/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "c84076da2b4ca5604d917f869b926e7326210780",
      "old_mode": 33188,
      "old_path": "third_party/marl/CMakeLists.txt",
      "new_id": "5f17ee86a7741000d7192ccd9a374aea929ca413",
      "new_mode": 33188,
      "new_path": "third_party/marl/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "6993066cbbc8240f84758c4c60013e3ebc9cf954",
      "old_mode": 33188,
      "old_path": "third_party/marl/include/marl/sanitizers.h",
      "new_id": "3f26d4aecfe0bfe0dd5f19cfde41c3fd7c343800",
      "new_mode": 33188,
      "new_path": "third_party/marl/include/marl/sanitizers.h"
    },
    {
      "type": "modify",
      "old_id": "48acf02cbd8b1e234b2715f5e8042da342d11bff",
      "old_mode": 33188,
      "old_path": "third_party/marl/include/marl/scheduler.h",
      "new_id": "b3159b86e9d3d6a60ddb6179a193376a734b9907",
      "new_mode": 33188,
      "new_path": "third_party/marl/include/marl/scheduler.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "11658668a4baa8cda12e218d125b4a3bbdd21978",
      "new_mode": 33188,
      "new_path": "third_party/marl/include/marl/thread_local.h"
    },
    {
      "type": "modify",
      "old_id": "2f3258244478f104401cb7692cb7c5089232e578",
      "old_mode": 33188,
      "old_path": "third_party/marl/src/scheduler.cpp",
      "new_id": "f5e9df0ece0bcc326394d8b9d5b0249410893426",
      "new_mode": 33188,
      "new_path": "third_party/marl/src/scheduler.cpp"
    }
  ]
}
