)]}'
{
  "commit": "f78eecf810299ad943e5bd26200c6bc9942cfeac",
  "tree": "b69a3d84c1f30bad73bfbfc0e50d54d5ddd7fb94",
  "parents": [
    "d97cf937e1db0f3bfc3d2869b05e7af6bf048fd7"
  ],
  "author": {
    "name": "Evan Brown CA",
    "email": "ezb@google.com",
    "time": "Fri Oct 16 09:53:20 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Oct 16 09:54:45 2026 -0700"
  },
  "message": "Tail-call infoz reporting in PrepareInsertLargeImpl to avoid stack frame.\n\nIn `PrepareInsertLargeImpl`, computing `SlotAddress` before `SetCtrl` and keeping the returned slot pointer and `has_infoz` live across `SetCtrl` and the conditional call to `ReportInsertMissToInfozAndComputeProbeLength` forces Clang to spill a callee-saved register and allocate a stack frame (`pushq %rbp; movq %rsp, %rbp; pushq %rbx; pushq %rax` and matching epilogue) on the hot fast path of `PrepareInsertLarge`, even when `common.has_infoz()` is false.\n\nChange `ReportInsertMissToInfozAndComputeProbeLength` to `ReportInsertMissToInfozAndGetSlot(common, policy, hash, target)`, computing and returning `SlotAddress` inside the cold helper, and check `common.has_infoz()` after `SetCtrl` so `PrepareInsertLargeImpl` can tail-call `ReportInsertMissToInfozAndGetSlot` when `common.has_infoz()` is true and sink the `SlotAddress` arithmetic into the non-infoz fast path. Passing `hash` as the third argument (`%rdx`) and `target` as the fourth argument (`%rcx`) matches `PrepareInsertLarge` and `PrepareInsertLargeSlow`, avoiding any register shuffling on entry or before the tail calls. This eliminates the stack frame and callee-saved register spill on `PrepareInsertLarge`.\n\nPiperOrigin-RevId: 1000921444\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3465a909a4cd9b9812e9373adefd41b605eff125",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set.cc",
      "new_id": "6b0dbbafaeabc372c9abe025ea83896027f238cf",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set.cc"
    }
  ]
}
