)]}'
{
  "commit": "addb67457ce3beb54560fcfd9caed26242adafdb",
  "tree": "0d46ff14edab329e1e83a0e5a8036baf2e07a1ff",
  "parents": [
    "151cf166585e51c8aa7e17ed032d10ea39ec9145"
  ],
  "author": {
    "name": "Evan Brown CA",
    "email": "ezb@google.com",
    "time": "Wed Sep 30 14:29:24 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Oct 22 11:36:08 2026 -0700"
  },
  "message": "Pass small trivial keys by value in SwissTable lookup and hash/eq helpers.\n\nMove `ShouldPreferPassByValue` (and its helpers) to `type_traits_internal` in `meta/type_traits.h`, require `std::is_trivially_copy_constructible_v\u003cT\u003e` in `ShouldSemanticallyPreferPassByValue`, and introduce `ConstParamT\u003cT\u003e` which passes types satisfying `ShouldPreferPassByValue\u003cT\u003e` by value (`const T`) rather than by reference (`const T\u0026`).\n\nUse `ConstParamT\u003cK\u003e` in `FindLargeKey\u003cK\u003e`, `HashKey`, and `EqualElement` (and `ShouldPreferPassByValue\u003cT\u003e` in `HashSelect::HashValueProbe::Invoke`) so small trivial keys stay in registers across `find_large`, `find_or_prepare_insert_large`, `PolicyTraits::apply`, and `AbslHashValue` calls instead of spilling to the stack and reloading through a reference.\n\nPiperOrigin-RevId: 991223700\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c438068a959478a3d3707a7b1e8019dbb350b620",
      "old_mode": 33188,
      "old_path": "absl/container/internal/common.h",
      "new_id": "9e5762fbdde7b630701a624f297d0bca62ebbdbc",
      "new_mode": 33188,
      "new_path": "absl/container/internal/common.h"
    },
    {
      "type": "modify",
      "old_id": "c40813141c856c406b5e5bcc2630e9d6072e1dbe",
      "old_mode": 33188,
      "old_path": "absl/container/internal/container_memory.h",
      "new_id": "c4177520f19a379b1f047387b5b64bdedb9bd033",
      "new_mode": 33188,
      "new_path": "absl/container/internal/container_memory.h"
    },
    {
      "type": "modify",
      "old_id": "8984dfa046c244b4283f5b0b827f4956dc9ba0a2",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_map.h",
      "new_id": "d4a756491d52ea78cee6b63a78250d89991f98b4",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_map.h"
    },
    {
      "type": "modify",
      "old_id": "9781b5c97c9cbc7800116f638ccb6ba7fb4629c1",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set.h",
      "new_id": "4b00848fa346db7ec1fc7a626df9b5ec47d88247",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set.h"
    },
    {
      "type": "modify",
      "old_id": "28cb10853afb7e52320525f20d1bdf241c2118bd",
      "old_mode": 33188,
      "old_path": "absl/hash/hash_test.cc",
      "new_id": "e42e1a04dd2530666fea66c530e99626f7de0c48",
      "new_mode": 33188,
      "new_path": "absl/hash/hash_test.cc"
    },
    {
      "type": "modify",
      "old_id": "025e57caad0d1f408c2412cb4c58f9fedb889825",
      "old_mode": 33188,
      "old_path": "absl/hash/internal/hash.h",
      "new_id": "68ae41458d177b828fc829984cc5527b94e46361",
      "new_mode": 33188,
      "new_path": "absl/hash/internal/hash.h"
    },
    {
      "type": "modify",
      "old_id": "b60579c861254d0474f801557b9eaa2418f5e988",
      "old_mode": 33188,
      "old_path": "absl/meta/type_traits.h",
      "new_id": "6f7cc0a8408505da0f44012274787f1584dfbe51",
      "new_mode": 33188,
      "new_path": "absl/meta/type_traits.h"
    },
    {
      "type": "modify",
      "old_id": "a11049c6ba7e43e988ec69e704b0bb833a7632a0",
      "old_mode": 33188,
      "old_path": "absl/meta/type_traits_test.cc",
      "new_id": "8fe3dc6a90c4368c1c80f8369d7431fad1bce857",
      "new_mode": 33188,
      "new_path": "absl/meta/type_traits_test.cc"
    }
  ]
}
