)]}'
{
  "commit": "fe4da8e5c517753b7ec416f9f1bec144d2f76946",
  "tree": "af201895c169741dd43c3f2982787e5818fb0ea3",
  "parents": [
    "28279274c88480103640313d913a66a9dd6ce94b"
  ],
  "author": {
    "name": "Michael Pratt",
    "email": "mpratt@google.com",
    "time": "Tue Jun 23 16:59:48 2026 -0400"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Thu Jun 25 12:45:19 2026 -0700"
  },
  "message": "runtime: unify mallocStub fast/slow blocks\n\nInside mallocStub, combine all of the fast path (!isSlowPath_) logic\ninto a single block, and all of the slow path logic into a single block.\n\nThis is primarily a refactor with no semantic change. The intention is\nto make it easier to read which part are fast/slow, and to make it\neasier for a follow up to change to acquirem early in the fast path.\n\nThe only semantic change is to move doubleCheckMalloc earlier. If the\nfast path decides to fall back to the slow path, that case will execute\ntwice, but it is a trivial check and it\u0027s even compiled in by default.\n\nThis arrangement does require duplicating lockRankMayQueueFinalizer in\nboth blocks. We can\u0027t move it earlier because the fast path falling back\nto the slow path would call this twice, which would trigger a lock rank\nviolation. We could potentially move it below (just before\ninlineMalloc). I don\u0027t believe it needs to come before\ndeductAssistCredit, but I\u0027d rather do that in a separate change.\n\nFor #79667.\nFor #79699.\n\nChange-Id: I1101cb112e0c48280c0317d986607ba66a6a6964\nReviewed-on: https://go-review.googlesource.com/c/go/+/794120\nReviewed-by: Michael Matloob \u003cmatloob@google.com\u003e\nReviewed-by: Michael Matloob \u003cmatloob@golang.org\u003e\nAuto-Submit: Michael Pratt \u003cmpratt@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c694aad99127cd18eef988e6de75950c90edae56",
      "old_mode": 33188,
      "old_path": "src/runtime/malloc_generated.go",
      "new_id": "6fe8ad5bc2debff07cbcbd35a7441852845a02be",
      "new_mode": 33188,
      "new_path": "src/runtime/malloc_generated.go"
    },
    {
      "type": "modify",
      "old_id": "177d69487e51c2977446f65cabe0d286aed742d5",
      "old_mode": 33188,
      "old_path": "src/runtime/malloc_stubs.go",
      "new_id": "e3ac77f8fe2b5f57af96ef5c3f9bfc93a164acb7",
      "new_mode": 33188,
      "new_path": "src/runtime/malloc_stubs.go"
    }
  ]
}
