)]}'
{
  "commit": "d77d7503b86a6e47da5b91e9656a97aec59f7595",
  "tree": "3a62c1ea5b0ab6eb649a68d3ba8386d0fc59cbec",
  "parents": [
    "97a7f319955e6ca4a2c01b972ede2ce6621a53a8"
  ],
  "author": {
    "name": "Evan Brown CA",
    "email": "ezb@google.com",
    "time": "Thu Oct 29 13:01:00 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Oct 30 14:42:03 2026 -0700"
  },
  "message": "Use AddConstRefIfExpensiveToCopy for non-transparent key arguments and internal raw_hash_set lookup helpers.\n\nPreviously, KeyArg always resolved non-transparent keys to key_type and public lookup methods took `const key_arg\u003cK\u003e\u0026`, while internal raw_hash_set lookup and preparation functions (e.g. find_or_prepare_insert()) took `const K\u0026`. When these functions were not inlined, callers with cheap-to-copy keys had to spill the key to stack memory, pass a stack address in `%rsi`, and reload the key inside the callee before hashing, comparing, or tail-calling (e.g. for find_or_prepare_insert_large()).\n\nAdd KeyArg::const_ref_if_expensive\u003cK, key_type\u003e, which aliases `const K\u0026` for transparent containers and type_traits_internal::AddConstRefIfExpensiveToCopy\u003cstd::conditional_t\u003cfalse, K, key_type\u003e\u003e for non-transparent containers (keeping key_type dependent on `K` so incomplete recursive key types remain supported), and use it in read-only key_arg\u003cK\u003e member functions (e.g. find()) while preserving `const ...\u0026` and `...\u0026\u0026` forwarding overloads (e.g. insert()). Also introduce raw_hash_set::KeyParam\u003cK\u003e (AddConstRefIfExpensiveToCopy\u003cabsl::remove_cvref_t\u003cK\u003e\u003e) and use it across internal lookup and insert-preparation helpers so cheap-to-copy keys are passed directly in registers.\n\nPiperOrigin-RevId: 1009900685\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "344c9fefdc4d2a08c9e1f431b08e60b4597b49f0",
      "old_mode": 33188,
      "old_path": "absl/container/internal/common.h",
      "new_id": "4c9cd9d27412f75338ec21e0969f96d2329cef3f",
      "new_mode": 33188,
      "new_path": "absl/container/internal/common.h"
    },
    {
      "type": "modify",
      "old_id": "746cb6e5b75ef4c5936099d85ad10a1f65fb8b58",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_map.h",
      "new_id": "e4ced0a01574817414525f467f2d089f37d6039a",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_map.h"
    },
    {
      "type": "modify",
      "old_id": "8ca006f18f48ad6acfa503c2017970f003ba40b2",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set.h",
      "new_id": "e1771fbbacb1bd8486c8c99fea63226391439ca8",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set.h"
    }
  ]
}
