)]}'
{
  "commit": "1c59f218cbb78b4ba2875aa675b58aef47e3d951",
  "tree": "b6eaac85413350c088822e9c457c1db1bdf442d2",
  "parents": [
    "3a71c2472b13113e6807ec119bf4367416bb0644"
  ],
  "author": {
    "name": "Clayton Knittel",
    "email": "cknittel@google.com",
    "time": "Fri Nov 06 01:13:31 2026 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Nov 06 02:06:43 2026 -0800"
  },
  "message": "Introduce `ClassDataPrefix` for frequently accessed members of `ClassData`\n\nThis is in preparation for a future change which will copy just the `ClassDataPrefix` into the fallback `Container` in `InternalMetadata`. Then, when `InternalMetadata` holds a `ClassData*` instead of an `Arena*`, we can access `ClassDataPrefix` without branching by masking off all the tag bits.\n\nI chose `ClassDataPrefix` to be exactly 32 bytes because this will eventually be a member of `InternalMetadata::Container`, which is already 32 bytes, rounding up to a nice even 64 bytes: `ClassData*` (8 bytes) and `std::string` / `UnknownFieldSet` (24 bytes). We will need to align the fallback `Container` to 64-bytes (since we want 6 tag bits), which for a 64-byte allocation is free with TCMalloc.\n* Note that we have to keep the `ClassData*` member to implement `GetClassData`, which requires the real `ClassData` pointer.\n\nNote that we lose the `ABSL_DCHECK(is_lite)` checks in `reflection_data` and `type_name`, which are non-lite- and lite-only respectively. These `DCHECK`s are sanity checks within proto code, users can\u0027t cause them to fire. I\u0027ve added overloads to both of these methods in `ClassData`, but the `DCHECK`s won\u0027t fire when these methods are called on a `ClassDataPrefix`.\n\nPiperOrigin-RevId: 1015350810\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bc80ba0f97ffb72d58f743d83cb2c5f4a05042da",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/BUILD.bazel",
      "new_id": "2f4559af5e5252b2a5e009e7cce6dea6bf982705",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "f6d6efb8e538204922d077676ad688fafbdc03fb",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/class_data.h",
      "new_id": "428bbf25ea72a63a4c7765c2a4e910ba3835f8f1",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/class_data.h"
    },
    {
      "type": "modify",
      "old_id": "c3f2daa1f8c00deff291d03cde63787fc19796c3",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/message.cc",
      "new_id": "c1b9d925a5b38ba4839a2402fdfa5766594fdf37",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/message.cc"
    },
    {
      "type": "modify",
      "old_id": "bd41da8ae77b589d4f20cba50ad0a3e00da93573",
      "old_mode": 33261,
      "old_path": "src/google/protobuf/compiler/csharp/c_sharp_features.pb.cc",
      "new_id": "ca088765ab741a518d06a52f3183f640857d4062",
      "new_mode": 33261,
      "new_path": "src/google/protobuf/compiler/csharp/c_sharp_features.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "2b1797e59a9e181fe1acccef6137c8c7bde59ee4",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/java/java_features.pb.cc",
      "new_id": "34e278f38e462f8a307d47a94a6f09c94911736d",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/java/java_features.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "1287e1629fe94ae3fc84d49ba46e49f3169b4de4",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/plugin.pb.cc",
      "new_id": "b5d2662918e6922e4ac3dd1f2c9dc729f7fcc89b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/plugin.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "2125817d19a067686d3903755abb85a4ec46a2d9",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/cpp_features.pb.cc",
      "new_id": "5320fcb44e1892f49487c90f70c640c446ad3ebd",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_features.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "1f48f6e5d7e2eb1b72d8c719326abcce8a5a5b92",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/cpp_file_options.pb.cc",
      "new_id": "7ee11cfa908ba191b568c00aab9f5de9e1398a93",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_file_options.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "f274510d4edef209b4c91aa86721e9fed1f43e8b",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.pb.cc",
      "new_id": "4eb6713c6c248fc80b146262e3023df1335a5c2d",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "80097a57e1f596fc7e8ea297d3b898b6572f1b7f",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/dynamic_message.cc",
      "new_id": "b6ab924cc5ee7099273d78b5ed256c30b45b76d8",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/dynamic_message.cc"
    },
    {
      "type": "modify",
      "old_id": "293cbcddd5cc841b2825fe2c14434d5188ee8f6d",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_reflection.cc",
      "new_id": "d5a35cd8f214660f1b6d750153553994a46515c4",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_reflection.cc"
    },
    {
      "type": "modify",
      "old_id": "8336c403adb3072faa06f39adbf186116358b3e0",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/internal_metadata_locator.h",
      "new_id": "faad2937b6b0d13057e34814692689ff1febcd4b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/internal_metadata_locator.h"
    },
    {
      "type": "modify",
      "old_id": "ebd4c3c626268fddb13ca7e360b19ac2bc744f73",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/internal_metadata_locator_test.cc",
      "new_id": "e01a8fee64181ff55ccf64b0a6d669e1f215ee66",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/internal_metadata_locator_test.cc"
    },
    {
      "type": "modify",
      "old_id": "75f3a42c63c085fc5f58d8c79442059db34f67fb",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/json_enumvalue_options.pb.cc",
      "new_id": "9ebb700706d39e20f2c70ad4d49959d551f9190f",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/json_enumvalue_options.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "a1d98712013116e58b011ab10891ce697a757b26",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/map.cc",
      "new_id": "5a87c6b6bbb4073a401e8fdb7075d1a80f234a78",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/map.cc"
    },
    {
      "type": "modify",
      "old_id": "41c642359d4ab9c478f76345f62e54579890b393",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/message.cc",
      "new_id": "5d334d98e3c8fbaeda64e6a7b4d76f023d40b0a3",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/message.cc"
    },
    {
      "type": "modify",
      "old_id": "9913eefdb850dc6f34ec4904bcd4ea12e4b64ce1",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/message.h",
      "new_id": "fe531fad92d5ffe0a4e373a2b4c448b849863118",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/message.h"
    },
    {
      "type": "modify",
      "old_id": "5e3876ce286e768afa4a6339f6d818ec6a9a8a0d",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/message_lite.cc",
      "new_id": "a2b3c4b0e2a4c1068a1c2990ac9e4f8ef9f70c6e",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/message_lite.cc"
    },
    {
      "type": "modify",
      "old_id": "0595728f829ef2291fa6c6ace4459433b1a40823",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/message_lite.h",
      "new_id": "3f3f65ec79af33b01184821edf3d8e38801a699a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/message_lite.h"
    },
    {
      "type": "modify",
      "old_id": "caee586897224d9a7cfdb2ea7c8ef60ea089e520",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/message_traits.h",
      "new_id": "0a6b337517516df2f0e51a0e5e22a925d185303b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/message_traits.h"
    },
    {
      "type": "modify",
      "old_id": "44f597e858e2f54e10b32b191e013abcf1c0f16a",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/metadata.cc",
      "new_id": "97458b704a03e79edcbe01e620a027bbf4dcec8e",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/metadata.cc"
    },
    {
      "type": "modify",
      "old_id": "f40ac2c98dd726fe7d0e1cdf0a169517015cd54f",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/metadata_lite.cc",
      "new_id": "74bbdb2eb162c6bd28a819d09f3a878e2848f213",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/metadata_lite.cc"
    },
    {
      "type": "modify",
      "old_id": "842b8431cc1a644f5da4cdf9b7def4b39cd4ab01",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/metadata_lite.h",
      "new_id": "e37a8202845ec9d97b384992f33793cd81ab0c5b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/metadata_lite.h"
    },
    {
      "type": "modify",
      "old_id": "ce0700e3a2b37544d9f8524ce8e6a8385e3dd24d",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/port_undef.inc",
      "new_id": "46e81805fec9ee2fc59b06cd068fd0b80ae0a126",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/port_undef.inc"
    },
    {
      "type": "modify",
      "old_id": "9fe9e2e78d61a7a74fefca4592bc7a032d32ad7b",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/private_access.h",
      "new_id": "585bbc7f3ddfe2dd5d92533dee71f197981e39be",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/private_access.h"
    },
    {
      "type": "modify",
      "old_id": "53e6c227225128dd9371e7b08641bf456a43f26b",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/repeated_ptr_field.cc",
      "new_id": "bdbb2627713f61286d8479c49f23925eaf3f9f1a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/repeated_ptr_field.cc"
    },
    {
      "type": "modify",
      "old_id": "392151071d9ac25d1b826ca5ed84ac3baffcbd2a",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/repeated_ptr_field.h",
      "new_id": "c16e520d929f1cb678f03a531b78c9be484023e3",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/repeated_ptr_field.h"
    },
    {
      "type": "modify",
      "old_id": "93c421a1fe3d4a55feb52cd42fcf9800357e0ca3",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/unknown_field_set.h",
      "new_id": "663648073b4a385098e25b5e7db5e25ce7a344d5",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/unknown_field_set.h"
    }
  ]
}
