)]}'
{
  "commit": "b04cd416f36748c808aae4d8a9f399bce2eac10f",
  "tree": "143a071ccddb2ab180f25ee170572e7d2d8e2c33",
  "parents": [
    "29c1b91df168a8f6056fc8ef3dd4d08ffe6a7000"
  ],
  "author": {
    "name": "Behdad Esfahbod",
    "email": "behdad@behdad.org",
    "time": "Sat Aug 22 22:24:44 2026 -0600"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Aug 22 22:24:44 2026 -0600"
  },
  "message": "[aat] Force-inline the state-machine transition functions (#6198)\n\nThe subtables\u0027 transition functions are called once per transition\nfrom the drive loop, but are big enough that the compiler declines to\ninline them, leaving a call plus prologue in the hottest loop of AAT\nshaping. Force them inline via HB_AAT_TRANSITION_INLINE, defined away\nunder HB_OPTIMIZE_SIZE.\n\nMeasured on the AAT corpus (clang -O3, instructions/cycles vs main):\nLucida Grande -10.3%/-5.2%, Menlo -6.6%, GeezaPro -5.6%/-4.4%,\nDevanagari Sangam -5.6%/-2.2%. The ligature machine\u0027s transition alone\ncarries most of the Menlo/Lucida win. Code size: +16KB text (+0.65%).\nOutputs byte-identical on the AAT corpus plus PingFang over a CJK\nsample.\n\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6d9c10ffb01d93980d19ab981787e30ab8dec45f",
      "old_mode": 33188,
      "old_path": "src/hb-aat-layout-common.hh",
      "new_id": "9bba40323602359e66cdbe866d62afbf9c0558dd",
      "new_mode": 33188,
      "new_path": "src/hb-aat-layout-common.hh"
    },
    {
      "type": "modify",
      "old_id": "db7cd6f5445e39eeda5a7c08abd3d7c84fe60a5d",
      "old_mode": 33188,
      "old_path": "src/hb-aat-layout-kerx-table.hh",
      "new_id": "5d5b2e17344f0d43b4a6852430498d64796e36eb",
      "new_mode": 33188,
      "new_path": "src/hb-aat-layout-kerx-table.hh"
    },
    {
      "type": "modify",
      "old_id": "4811f12be5a597f85d6fca88e416f58043fa3700",
      "old_mode": 33188,
      "old_path": "src/hb-aat-layout-morx-table.hh",
      "new_id": "aa6081131735e9c73df4f20b427166b88fa75d1e",
      "new_mode": 33188,
      "new_path": "src/hb-aat-layout-morx-table.hh"
    }
  ]
}
