)]}'
{
  "commit": "d7a31a0aa532b1de4d2d6c1f5a18c2a749645945",
  "tree": "8c391654fe592cefccaeaffa6a534c9966d441ae",
  "parents": [
    "65514164445ed85f64a85b4b8f567e0d917df4b2"
  ],
  "author": {
    "name": "Abseil Team",
    "email": "absl-team@google.com",
    "time": "Sat Oct 24 03:31:14 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Nov 02 10:36:33 2026 -0800"
  },
  "message": "Restrict sequence locks to multi-word flags and shrink mutation counts.\n\nAny `absl::Flag` whose value fits in 8 bytes reads and writes its value atomically without consulting a sequence lock. Even so, every `absl::flags_internal::FlagImpl` in writable data previously paid 8 bytes for a sequence lock just to track modification counts for tests and flag savers.\n\nMove `SequenceLock` into the multi-word flag value storage specialization so only types larger than 8 bytes allocate it. Track mutations on `FlagImpl` with a 3-bit saturating counter inside an atomic state byte that overflows into a process-wide map after seven updates, shrinking the base object from 72 bytes to 64 bytes and scalar flags from 80 bytes to 72 bytes.\n\nPiperOrigin-RevId: 1006216187\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "59771c7f47c7472592f0c50ca83685ef67e9a088",
      "old_mode": 33188,
      "old_path": "absl/flags/BUILD.bazel",
      "new_id": "a43151f98459239a893ba8d72f0fe53b4231e974",
      "new_mode": 33188,
      "new_path": "absl/flags/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "162b654ede1c63f9c99ff5418191494d021c69a4",
      "old_mode": 33188,
      "old_path": "absl/flags/CMakeLists.txt",
      "new_id": "788ff0ac473a4a58c19a2df3e498201a7542c762",
      "new_mode": 33188,
      "new_path": "absl/flags/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "b6d01b2ac58b9cdee67c922a3a1e0c7942511986",
      "old_mode": 33188,
      "old_path": "absl/flags/commandlineflag_test.cc",
      "new_id": "35ce5672df9dcb68bd1697be5e21d7d0ba1fe09c",
      "new_mode": 33188,
      "new_path": "absl/flags/commandlineflag_test.cc"
    },
    {
      "type": "modify",
      "old_id": "2e9a9e6c4762a6c4ea7ba486b9b3dcc291fee5d7",
      "old_mode": 33188,
      "old_path": "absl/flags/flag.h",
      "new_id": "ea2b889cade13b4fdcd4e8fc00bf6c50830a5910",
      "new_mode": 33188,
      "new_path": "absl/flags/flag.h"
    },
    {
      "type": "modify",
      "old_id": "5cacf6470de8df1e23bd327fdbed1fe05f18e72c",
      "old_mode": 33188,
      "old_path": "absl/flags/flag_test.cc",
      "new_id": "e8fb5748cfa002af11c3905b5575fcf4ab7d3ad8",
      "new_mode": 33188,
      "new_path": "absl/flags/flag_test.cc"
    },
    {
      "type": "modify",
      "old_id": "662b342bb76fe095a827d55ffb419218e29163dc",
      "old_mode": 33188,
      "old_path": "absl/flags/internal/flag.cc",
      "new_id": "f6673acab1fe82e645c162395a6820680082d361",
      "new_mode": 33188,
      "new_path": "absl/flags/internal/flag.cc"
    },
    {
      "type": "modify",
      "old_id": "c12c924ee71d563775c5193f376407433ab7d04b",
      "old_mode": 33188,
      "old_path": "absl/flags/internal/flag.h",
      "new_id": "135ca76c4cdce56639a5f527d2f6afbac2ca02a8",
      "new_mode": 33188,
      "new_path": "absl/flags/internal/flag.h"
    },
    {
      "type": "modify",
      "old_id": "1729d7fb7b76de88aa761c9e53487ab9d2899812",
      "old_mode": 33188,
      "old_path": "absl/flags/internal/sequence_lock.h",
      "new_id": "f3c95ecd7ca4824ec69fa248d749ffd7be27c70a",
      "new_mode": 33188,
      "new_path": "absl/flags/internal/sequence_lock.h"
    }
  ]
}
