)]}'
{
  "commit": "188c4204e2ef60207cbf5c9f34a8df90a5ca1a6d",
  "tree": "03175c662290bac413aae2fd7a9c2a8cd5322113",
  "parents": [
    "d2d44c668b7321ac157e9c085bd083d0db9d58f9"
  ],
  "author": {
    "name": "Mark Hansen CA",
    "email": "markhansen@google.com",
    "time": "Wed Sep 23 17:39:26 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Sep 23 17:40:09 2026 -0700"
  },
  "message": "Tag CHECK_EQ, CHECK_GE, etc implementations as `ABSL_ATTRIBUTE_ALWAYS_INLINE`\n\nMany Android builds optimize aggressively for size by compiling with `-Oz`. This is pathological for these two methods: we end up calling two callstacks deep (from the `int v1` overload to the `T1 v1` overload) for the common case.\n\nIt\u0027s all because of the inlining thresholds:\n- `-Oz` sets inline threshold \u003d 5 (about one instruction)\n- `-Oz` ignores the `inline` keyword, which would typically bump a method\u0027s inline threshold up to `325`.\n\nThese functions inline cost is too high to be inlined at `-Oz`. But we know better: we know these functions are almost never going to call their cold path.\n\nAfter this, the code compiles to a fast-path comparison on the caller and outlines the cold path.\n\nPiperOrigin-RevId: 987119155\nChange-Id: Ifd6defa34692c10cee28cf082744aa1728732fb9\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "66050f0a69e9ec86c711468697167a1801f73c59",
      "old_mode": 33188,
      "old_path": "absl/log/internal/check_op.h",
      "new_id": "ce2c76f488a90b6c88afb7154dd2ca21186f1b38",
      "new_mode": 33188,
      "new_path": "absl/log/internal/check_op.h"
    }
  ]
}
