)]}'
{
  "commit": "c8f4f268bb61537e78a73600ebc7d9837ec29411",
  "tree": "617b666c46701de57f3e86fe6cebf6a021cea778",
  "parents": [
    "a55c302e3f6683eba6f57a9672d19a9c8246e16c"
  ],
  "author": {
    "name": "Protobuf Team Bot",
    "email": "protobuf-github-bot@google.com",
    "time": "Sat Aug 22 11:21:29 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Sun Aug 23 16:41:38 2026 -0700"
  },
  "message": "Extend Message Layout Engine \u0026 Padding Optimizer to support 2-byte alignment\n\nThis change extends the Protobuf C++ message layout engine and padding optimizer:\n- Added aligned_to_2 partition array to FieldAlignmentGroups in message_layout_helper.h/cc.\n- Extended the alignment consolidation pipeline to follow a 1 -\u003e 2 -\u003e 4 -\u003e 8 byte hierarchy, packing pairs of 1-byte fields into 2-byte blocks and pairs of 2-byte fields into 4-byte blocks.\n- Added EstimateEnumSize in helpers.h/cc to compute alignment and size for closed enums.\n- Added comprehensive unit tests in message_layout_helper_unittest.cc and helpers_unittest.cc.\n\nPiperOrigin-RevId: 969068445\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a1b0229293847b78f1a08140e47e3f3cf50f457c",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/helpers.cc",
      "new_id": "41c14ff5543203b3ef3f0dcf0f0c03f456f65e4d",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/helpers.cc"
    },
    {
      "type": "modify",
      "old_id": "bf7e9de1a8658a6b579c53403d2e5cf0a0154a17",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/helpers.h",
      "new_id": "a86358442699ef22913cfa36bdb1208fb5189760",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/helpers.h"
    },
    {
      "type": "modify",
      "old_id": "fd77e8b0a67f18492902401f1879a8b474f3404d",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/message_layout_helper.cc",
      "new_id": "0324647329d7ea9f87107d663fbae427acadc401",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/message_layout_helper.cc"
    },
    {
      "type": "modify",
      "old_id": "4a26ea5d40c0821d99cda2a52c70d06f5c304d45",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/message_layout_helper.h",
      "new_id": "00a723fc14ba645d41fa077dae167cb76cacce97",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/message_layout_helper.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7aa3700dcbd237ee1a3d05163b32b8f125cc0d56",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/message_layout_helper_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "bb2dc484016bdefa9ce27ca8fe83a0ee3df90185",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/java/java_features.pb.cc",
      "new_id": "4aec5b3269610a85dcb63e9705aa7834bcbabad2",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/java/java_features.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "dcc255fcc3a7e1f4df979cab2747cbb73d4f4a7a",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/java/java_features.pb.h",
      "new_id": "c715582d68554e918cbf82a24ef2a9db538c59a9",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/java/java_features.pb.h"
    },
    {
      "type": "modify",
      "old_id": "1bfe2482f8ec722406d4400dbc818a0c7a57cbf3",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/cpp_features.pb.cc",
      "new_id": "d81d0bf6dc2406a1b8571a53708a916d718390b1",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_features.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "683e1d3b89a84bec3e88b2aba50ca4be9b003492",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/cpp_features.pb.h",
      "new_id": "60276c80c582aed930e398e6779416be3dac8093",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_features.pb.h"
    },
    {
      "type": "modify",
      "old_id": "7f5a4c12ea7b38f730dbe090ec98bb7efdc72b91",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.pb.cc",
      "new_id": "006e77cd2326f32102b4f007281cd6eeb90596f0",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "b0a1b19a5ef1365adea93fe49eb8a47b1229a270",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.pb.h",
      "new_id": "877e4a83ea6e543ba98f92fd4e659b63d5550136",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.pb.h"
    },
    {
      "type": "modify",
      "old_id": "83a026b6fc153cff957f97459146a76928cd38ea",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_reflection.cc",
      "new_id": "ddd325b525014b905710a200bf4251aba50a4f14",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_reflection.cc"
    },
    {
      "type": "modify",
      "old_id": "3cf3458863cb10fcf3dcdd5f2948a698b2208a34",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_reflection.h",
      "new_id": "ff4ffb172abf5f9555491aa744991de518e53861",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_reflection.h"
    },
    {
      "type": "modify",
      "old_id": "e76f9274ba1255c70d53b520a3fb283914679aca",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_reflection_unittest.cc",
      "new_id": "2fbf3a0f80b9993064a9ab59670c6ad6a7d74f1b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_reflection_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "f8d82ac9dbf301101689168afdab48ca6c94914c",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_tctable_gen.cc",
      "new_id": "9bdda8e4b089a9f2390228acbc8f9f7e51c9b0a2",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_tctable_gen.cc"
    },
    {
      "type": "modify",
      "old_id": "fd1e0e6f5f25576389785aca71a74457d9d16ab8",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_tctable_gen.h",
      "new_id": "e7e55bd2b2ffa14f3f699046d516adb972543a04",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_tctable_gen.h"
    },
    {
      "type": "modify",
      "old_id": "34a2a826aa3f5a6aade49958e1cacfeb02f10375",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_tctable_impl.h",
      "new_id": "ea9a4cc50a764a9c0d88b5048db84195623d75b2",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_tctable_impl.h"
    },
    {
      "type": "modify",
      "old_id": "c4c9023e91c123865da4837e6eb8b8efd12b0e66",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_tctable_lite.cc",
      "new_id": "2ca5d586f0fe83bde58fe0b728d5dc557c4b1144",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_tctable_lite.cc"
    },
    {
      "type": "modify",
      "old_id": "ad4afdcb25a530d062c8b3c2be0712863b648841",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/generated_message_tctable_lite_test.cc",
      "new_id": "8b3c37acc4d42a495023cf8d64d1372a6e4d156e",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/generated_message_tctable_lite_test.cc"
    },
    {
      "type": "modify",
      "old_id": "63b8396369448f6bf5fdd012d582606fe6a347c7",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/message.h",
      "new_id": "4de91e9bef61f74243801f00b725b88919815b02",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/message.h"
    }
  ]
}
