)]}'
{
  "commit": "0fcc64f7d006474a026d8f78f3a95dac84cd97ea",
  "tree": "98ab2826b10f540611691beffab053a85defd023",
  "parents": [
    "899572b32b8bb610cfeeefd162d9aefb46e29d97"
  ],
  "author": {
    "name": "Andrew Grieve",
    "email": "agrieve@google.com",
    "time": "Wed Jun 11 07:09:37 2025 -0700"
  },
  "committer": {
    "name": "GN LUCI",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Jun 12 08:41:21 2025 -0700"
  },
  "message": "Reland \"Run Target::OnResolve() on background threads\"\n\nThis reverts commit 8ea3af9118a65387fe4d8428db6f59c5927dd55a.\n\nReason for reland: Fixed test\n\nBug: chromium:398002893\nOriginal change\u0027s description:\n\u003e Revert \"Run Target::OnResolve() on background threads\"\n\u003e\n\u003e This reverts commit 3ef7da38dcfb63212d97a987d5c60374134e1007.\n\u003e\n\u003e Reason for revert: Failing tests /w asan (and on release bots)\n\u003e\n\u003e Bug: chromium:398002893\n\u003e Original change\u0027s description:\n\u003e \u003e Run Target::OnResolve() on background threads\n\u003e \u003e\n\u003e \u003e OnResolve() is often trivial, but it can also not be, as there are a lot\n\u003e \u003e of possible checks that it can do.\n\u003e \u003e\n\u003e \u003e \"gn --tracelog gen\" now shows all threads being always busy.\n\u003e \u003e\n\u003e \u003e Hyperfine Benchmark from Chromium:\n\u003e \u003e Before:\n\u003e \u003e   Time (mean ± σ):      7.349 s ±  0.251 s    [User: 66.903 s, System: 50.486 s]\n\u003e \u003e   Range (min … max):    6.974 s …  7.655 s    10 runs\n\u003e \u003e\n\u003e \u003e After:\n\u003e \u003e   Time (mean ± σ):      6.563 s ±  0.313 s    [User: 67.873 s, System: 53.023 s]\n\u003e \u003e   Range (min … max):    6.186 s …  7.281 s    10 runs\n\u003e \u003e Bug: chromium:398002893\n\u003e \u003e Change-Id: I30bd9b7541a961b1d0cef80c229b0a3f24752d3e\n\u003e \u003e Reviewed-on: https://gn-review.googlesource.com/c/gn/+/19020\n\u003e \u003e Reviewed-by: David Turner \u003cdigit@google.com\u003e\n\u003e \u003e Commit-Queue: David Turner \u003cdigit@google.com\u003e\n\u003e \u003e Reviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\n\u003e\n\u003e # Not skipping CQ checks because original CL landed \u003e 1 day ago.\n\u003e\n\u003e Bug: chromium:398002893\n\u003e Change-Id: I4ca499e210288b46a91209967a635004c9d0ad68\n\u003e Reviewed-on: https://gn-review.googlesource.com/c/gn/+/19060\n\u003e Reviewed-by: Andrew Grieve \u003cagrieve@google.com\u003e\n\u003e Commit-Queue: Roland McGrath \u003cmcgrathr@google.com\u003e\n\u003e Reviewed-by: Roland McGrath \u003cmcgrathr@google.com\u003e\n\n# Not skipping CQ checks because this is a reland.\n\nBug: chromium:398002893\nChange-Id: Ia052c4fb4182bf879e418effcf17f27868131be2\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/19080\nCommit-Queue: Andrew Grieve \u003cagrieve@google.com\u003e\nReviewed-by: David Turner \u003cdigit@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dfd14865b946358b625dd8373a5f56e83adc9c55",
      "old_mode": 33188,
      "old_path": "src/gn/analyzer_unittest.cc",
      "new_id": "5952562dd81c46f5b35656732c97779862cbde56",
      "new_mode": 33188,
      "new_path": "src/gn/analyzer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "1f3ecd8ff50643f85e0e1ab3ca446c1e94982dfe",
      "old_mode": 33188,
      "old_path": "src/gn/builder.cc",
      "new_id": "bf47b13b21b0197bbae4e459481d5bc976b6f455",
      "new_mode": 33188,
      "new_path": "src/gn/builder.cc"
    },
    {
      "type": "modify",
      "old_id": "a9c01aa491dec9cc5e395a36fbb65406e35e4a71",
      "old_mode": 33188,
      "old_path": "src/gn/builder.h",
      "new_id": "e4d996c9ad2870ca4d1d712b65c9e743abf06513",
      "new_mode": 33188,
      "new_path": "src/gn/builder.h"
    },
    {
      "type": "modify",
      "old_id": "59068a6e8f14cc93d3167065eea8d1261418304a",
      "old_mode": 33188,
      "old_path": "src/gn/builder_unittest.cc",
      "new_id": "59b58f8130ffddc1512667386950f2ae7141d536",
      "new_mode": 33188,
      "new_path": "src/gn/builder_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "dd1a60662fbf1376025c50946693155313c81541",
      "old_mode": 33188,
      "old_path": "src/gn/item.h",
      "new_id": "4a6e193bfa8c1bf6061e36d0385d164fb7c35425",
      "new_mode": 33188,
      "new_path": "src/gn/item.h"
    },
    {
      "type": "modify",
      "old_id": "6525f33ec3ae8601f978c9a96b8fef14aeb7c253",
      "old_mode": 33188,
      "old_path": "src/gn/scheduler.cc",
      "new_id": "76d285c33f142da2bf904715d8524c991080c44f",
      "new_mode": 33188,
      "new_path": "src/gn/scheduler.cc"
    },
    {
      "type": "modify",
      "old_id": "cf29fe86ddc2c8900ea1a7b8888f178f3eb11f6e",
      "old_mode": 33188,
      "old_path": "src/gn/scheduler.h",
      "new_id": "b90814f29170f9ed024f25be9cb79d63bfd9ac8d",
      "new_mode": 33188,
      "new_path": "src/gn/scheduler.h"
    }
  ]
}
