)]}'
{
  "commit": "f2c2d0b034528c8a3b4fa5bb5a02efbeb382e86f",
  "tree": "e5733107291e0ffd87a501a9459d3b136389edd9",
  "parents": [
    "b1dff2231ccbd04e3a92e42fb3458231965ca5d1"
  ],
  "author": {
    "name": "Abseil Team",
    "email": "absl-team@google.com",
    "time": "Thu Oct 22 10:11:04 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Oct 23 05:59:59 2026 -0700"
  },
  "message": "Pool LogMessageData instances in a 16-slot lock-free ObjectPool.\n\nEvery active `LOG(...)` statement previously allocated and deallocated a ~30.5 KB `LogMessageData` buffer from the global heap (`std::make_unique\u003cLogMessageData\u003e`) and constructed and destroyed its `std::ostream` state whenever `OstreamView` was used.\n\nIntroduce `absl::log_internal::ObjectPool\u003cT, kCapacity\u003e` in `log/internal/object_pool.h`, a cacheline-aligned, `ABSL_CONST_INIT`-compatible, trivially destructible lock-free object pool probed from a `thread_local` slot hint (or `GetCachedTID() % kCapacity` when `ABSL_HAVE_THREAD_LOCAL` is unavailable), falling back to `std::make_unique\u003cT\u003e` and `delete` when all `kCapacity` slots are concurrently in use. Use `ObjectPool\u003cLogMessageData, 16\u003e` (`LogMessageData::pool`) and `LogMessageData::Reset` to reuse `LogMessageData` instances across `LogMessage` lifetimes without touching the two 15 KB buffers (`encoded_buf` and `string_buf`), and track per-message `manipulated_used` state so a pooled `std::ostream` is constructed at most once per slot and reset (`clear`, `flags`, `precision`, `width`, `fill`) once per `LogMessage` when `OstreamView` is entered.\n\nPiperOrigin-RevId: 1004864407\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5b24d678d7e7cc3952a8aae63534bd799ea373aa",
      "old_mode": 33188,
      "old_path": "CMake/AbseilDll.cmake",
      "new_id": "adf98dc9b60fa3bbb46371030475ecb3a7a079fe",
      "new_mode": 33188,
      "new_path": "CMake/AbseilDll.cmake"
    },
    {
      "type": "modify",
      "old_id": "1da38e4f39aa952b6f473d561df938dca4289b1f",
      "old_mode": 33188,
      "old_path": "absl/log/CMakeLists.txt",
      "new_id": "58cad49c757b5c5c23140fdc3501742140b9855f",
      "new_mode": 33188,
      "new_path": "absl/log/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "42114edb61a21f8b4a49ad5bb66f8488bbfafd72",
      "old_mode": 33188,
      "old_path": "absl/log/internal/BUILD.bazel",
      "new_id": "e1a64ba92ae246e0cb378e5823d795df2a562b43",
      "new_mode": 33188,
      "new_path": "absl/log/internal/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "e56ef25919fc6fe6b76ceee2f4b395b94cc99506",
      "old_mode": 33188,
      "old_path": "absl/log/internal/log_message.cc",
      "new_id": "6e6e51550498f53b4d6bda7ec225086fdb271044",
      "new_mode": 33188,
      "new_path": "absl/log/internal/log_message.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7ad2337ed71fbe30726cfe55e5ff1fa177a1e66a",
      "new_mode": 33188,
      "new_path": "absl/log/internal/object_pool.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ac2395467ec4c69ee12bd1a6eae04d3bcc7ada58",
      "new_mode": 33188,
      "new_path": "absl/log/internal/object_pool_test.cc"
    },
    {
      "type": "modify",
      "old_id": "50a64ea16498b9790ad2b40e0a7b0df51b613fc0",
      "old_mode": 33188,
      "old_path": "absl/log/log_benchmark.cc",
      "new_id": "878001b1e52ec6ec44be14d3870d9b5db17f7869",
      "new_mode": 33188,
      "new_path": "absl/log/log_benchmark.cc"
    },
    {
      "type": "modify",
      "old_id": "b792d384ace898521a7b59b2e39aa3c3934ea7f0",
      "old_mode": 33188,
      "old_path": "absl/log/log_format_test.cc",
      "new_id": "48cb4dbcd5dcf36a86e45f71a73a22bfe9426fa6",
      "new_mode": 33188,
      "new_path": "absl/log/log_format_test.cc"
    }
  ]
}
