)]}'
{
  "commit": "3e9ccc9c0bfb31f77b7251a4b4653fbb994f7a66",
  "tree": "a4e02c113e6eb1326e8c4d79f072b87e47a21b83",
  "parents": [
    "1d9b42fd5fcbae726bcf1fc9d6e9b2b543d5d6aa"
  ],
  "author": {
    "name": "Vitaly Goldshteyn",
    "email": "goldvitaly@google.com",
    "time": "Wed Oct 21 07:00:55 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Oct 21 07:44:00 2026 -0700"
  },
  "message": "Outline inline string helpers into out-of-line implementations to reduce binary size.\n\nHeader-inlined constructors, loops, and temporary `std::string` allocations across `str_cat.h`, `str_join_internal.h`, `substitute.h`, `ostringstream.h`, `ascii.h`, `escaping.h`, `str_replace.h`, and `stringify_sink.h` expand repeatedly at thousands of call sites across large binaries, inflating both hot and cold text sections as well as exception unwinding tables. Even single-line header wrappers are aggressively imported and re-inlined across translation units under ThinLTO.\n\nMove non-trivial formatting, case conversion, whitespace stripping, string replacement, `OStringStream` lifecycle methods (anchoring its vtable and typeinfo), contiguous `StrJoin` loops, `Substitute` result construction, file-name/ASCII escaping, and `SourceLocation` stringification out of headers into their corresponding `.cc` files with consistent `ABSL_ATTRIBUTE_NOINLINE` annotations, and capture the `unbase64` lookup table by reference in `Base64UnescapeInternal` instead of copying 256 bytes per call. Static ThinLTO release builds reduce `.text` size by 7.5 KB to 10.6 KB across single test binaries.\n\nPiperOrigin-RevId: 1003908416\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b5c7e195b7ce91554f30364a9c74c5a790e1d0e5",
      "old_mode": 33188,
      "old_path": "absl/strings/ascii.cc",
      "new_id": "e86e534e9ab91ca298f9df00437b85826d1eb147",
      "new_mode": 33188,
      "new_path": "absl/strings/ascii.cc"
    },
    {
      "type": "modify",
      "old_id": "d6252d63caa1c9b62d25e2af0c91fc3c0ddc80a7",
      "old_mode": 33188,
      "old_path": "absl/strings/ascii.h",
      "new_id": "5989f9f7b121fb4a015ba993479d4cf9b862a43d",
      "new_mode": 33188,
      "new_path": "absl/strings/ascii.h"
    },
    {
      "type": "modify",
      "old_id": "efe90412e6f3817a2ebea8e26117582bc6a63d0c",
      "old_mode": 33188,
      "old_path": "absl/strings/escaping.cc",
      "new_id": "ebebfe9b78d0270dcc73e9207e1fef18d04959c0",
      "new_mode": 33188,
      "new_path": "absl/strings/escaping.cc"
    },
    {
      "type": "modify",
      "old_id": "66ff22c47dab2e3507e9fd195ce76f9c6a93eb40",
      "old_mode": 33188,
      "old_path": "absl/strings/escaping.h",
      "new_id": "1502ff1d0218c9cfe3a9d91a9006f7a633240681",
      "new_mode": 33188,
      "new_path": "absl/strings/escaping.h"
    },
    {
      "type": "modify",
      "old_id": "5ac41ccb4274556afed215c682377e258f0e2bfe",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/ostringstream.cc",
      "new_id": "e848c15dfeb9b0b20187619b827ab5c1fdee8f21",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/ostringstream.cc"
    },
    {
      "type": "modify",
      "old_id": "c0e237dbe8fe4b19199b21842b878a3f2178fc5f",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/ostringstream.h",
      "new_id": "1139baf8fb13eb7b82aefa720a89eb1efda32860",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/ostringstream.h"
    },
    {
      "type": "modify",
      "old_id": "8f9c11a19741b7084042b52baa1b729f7af25e53",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/str_join_internal.h",
      "new_id": "56b71ed495ce333f82b3abebeb916c1b2c383ca6",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/str_join_internal.h"
    },
    {
      "type": "modify",
      "old_id": "c9f82582045fa993b4cfdecb83d0fee3b65290d7",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/stringify_sink.cc",
      "new_id": "7702e6a9155f7735ab55f38e08b183ec30902297",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/stringify_sink.cc"
    },
    {
      "type": "modify",
      "old_id": "e4e5f9e8d9ac2bf672fd75c83fb3561979066c1c",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/stringify_sink.h",
      "new_id": "41cb788f5167dd5245e517388638d3c21b6baf82",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/stringify_sink.h"
    },
    {
      "type": "modify",
      "old_id": "b79078d65a252b5b5269081e8b1caf19efa79e4e",
      "old_mode": 33188,
      "old_path": "absl/strings/str_cat.cc",
      "new_id": "923c80f0ff24266819fd5958dbae3a1232417a51",
      "new_mode": 33188,
      "new_path": "absl/strings/str_cat.cc"
    },
    {
      "type": "modify",
      "old_id": "11e3bf63cd1aa820ddb6985f813c8d4603896d50",
      "old_mode": 33188,
      "old_path": "absl/strings/str_cat.h",
      "new_id": "b855ea4184c96a6acba9b420926c1fb53524f578",
      "new_mode": 33188,
      "new_path": "absl/strings/str_cat.h"
    },
    {
      "type": "modify",
      "old_id": "377e30cfd738ba407137c619346af8de4e6304ac",
      "old_mode": 33188,
      "old_path": "absl/strings/str_replace.cc",
      "new_id": "0900ae48a34407e5044fc337bdbb4f4e09d62406",
      "new_mode": 33188,
      "new_path": "absl/strings/str_replace.cc"
    },
    {
      "type": "modify",
      "old_id": "3af235793781b9512d13c1c7df6d0a099d7342d7",
      "old_mode": 33188,
      "old_path": "absl/strings/str_replace.h",
      "new_id": "38ef3e4fd0e2e4a1a8cc837ab4abf0b09bf92900",
      "new_mode": 33188,
      "new_path": "absl/strings/str_replace.h"
    },
    {
      "type": "modify",
      "old_id": "244c8a55e4ae9c3f1ab8af6d7bfbe4b4184a29c2",
      "old_mode": 33188,
      "old_path": "absl/strings/substitute.cc",
      "new_id": "346972fe707012de1205e0ca8e01ef1b09c3a69d",
      "new_mode": 33188,
      "new_path": "absl/strings/substitute.cc"
    },
    {
      "type": "modify",
      "old_id": "6c62af6d7bfe95f24f81a560acad7bdec53324dd",
      "old_mode": 33188,
      "old_path": "absl/strings/substitute.h",
      "new_id": "59883578eb218452ab684707422301b412225998",
      "new_mode": 33188,
      "new_path": "absl/strings/substitute.h"
    }
  ]
}
