)]}'
{
  "commit": "9fc90a5a6c019a89bc2d6e2a891cf858a0efcc69",
  "tree": "968c1597362854d9286a771cb62a40e486a26256",
  "parents": [
    "1d9b42fd5fcbae726bcf1fc9d6e9b2b543d5d6aa"
  ],
  "author": {
    "name": "Vitaly Goldshteyn",
    "email": "goldvitaly@google.com",
    "time": "Mon Oct 19 14:22:35 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Oct 21 11:32:10 2026 -0700"
  },
  "message": "Share the type-erased resize implementation between full SOO tables and allocated tables to reduce binary size.\n\n`ResizeFullSooTable` (with `InsertOldSooSlotAndInitializeControlBytes`) and `ResizeAllocatedTableWithSeedChange` (with `FindNewPositionsAndTransferSlots`) performed the same sequence of operations: allocate a new backing array, generate a new seed, reset the control bytes, transfer the elements to their new positions, release the old storage, reset the growth left, and report the resize to hashtablez. The only differences were where the old elements live (the SOO slot inside `CommonFields` vs. the old backing array) and how the infoz is obtained (forced sampling vs. kept from the allocated table).\n\nMerge them into a single out-of-line `ResizeTableWithSeedChangeImpl` that handles both cases. `FindNewPositionsAndTransferSlots` now receives the new control bytes and slots explicitly instead of reading them from `CommonFields`, so the control pointer is stored only after the transfer and the SOO slot is not overwritten. All of these paths are cold (reserving or rehashing a non-empty table, or forcing a sample of a full SOO table), so sharing the code does not affect hot paths. `ReserveAllocatedTable` and `Rehash` no longer need to dispatch between the SOO and the allocated case.\n\nThe type-erased code in `raw_hash_set.cc` shrinks by 1,047 bytes (-5.0%) in optimized builds.\n\nIt is also good simplification.\n\nPiperOrigin-RevId: 1002592266\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7892d2d40691618268e2183049ce2b6566e7ac9f",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set.cc",
      "new_id": "82d178002db82ec93ee893961956c31d3027162c",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set.cc"
    }
  ]
}
