)]}'
{
  "commit": "82fbde0ca1512b607087cd2ce860de27fa872dd7",
  "tree": "544cf76fe61122d7ef4edd916454bfa9852c5465",
  "parents": [
    "9b38c456f3f0c0f934d08230f339772e1f9ff9aa"
  ],
  "author": {
    "name": "Protobuf Team Bot",
    "email": "protobuf-github-bot@google.com",
    "time": "Sun Oct 11 21:23:10 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Oct 14 18:44:40 2026 -0700"
  },
  "message": "Avoid redundant wire byte loads and template bloat in table-driven varint parsing.\n\nBefore calling `TcParser::SingularVarint`, `TcParser::TagDispatch` performs an unaligned 16-bit load from the wire buffer and XORs it with the fast-table tag entry in `data.data`. For 1-byte tags (field numbers 1 through 15), `coded_tag\u003cuint8_t\u003e()` masks only bits 0 through 7, leaving the first varint payload byte (`*ptr`) already loaded in bits 8 through 15 of `data.data`. `SingularVarint` previously ignored this register value and issued a redundant byte load from `*ptr`. In addition, the multi-byte varint slow path tail-called `SingularVarBigint` parameterized on `TagType` even though `ptr` had already been advanced past `sizeof(TagType)`, duplicating slow-path instantiations across 1-byte and 2-byte tags, and always decoded into a 64-bit `uint64_t` temporary even for 32-bit fields.\n\nExtract the initial varint byte directly from `static_cast\u003cuint8_t\u003e(data.data \u003e\u003e 8)` when `sizeof(TagType) \u003d\u003d 1`, unify multi-byte tail calls onto `SingularVarBigint\u003cFieldType, uint8_t, zigzag\u003e`, and select a 32-bit `uint32_t` temporary in `SingularVarBigint` when `sizeof(FieldType) \u003d\u003d 4`.\n\nPiperOrigin-RevId: 997663183\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "90f2c0e1955a4c67f9ecd96c20131e2ec822fef4",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_tctable_lite.cc",
      "new_id": "0118e81d73b70f73b216d7b9eeb7899afe85a02d",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_tctable_lite.cc"
    },
    {
      "type": "modify",
      "old_id": "c14ef6894027463e066a3f5457617fa20f925e09",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_tctable_lite_test.cc",
      "new_id": "ec8bf9262892d6836a90633cb04ce120dafba4fd",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_tctable_lite_test.cc"
    }
  ]
}
