)]}'
{
  "commit": "7c26f764ce2d23acfcf723a79bb87fe04c9e8d0c",
  "tree": "8d156ebbfb03a998489855044dc8b763f6ba6bd0",
  "parents": [
    "38bcefd8cbf1cb5d4267a09aeab9be84b2cc85df"
  ],
  "author": {
    "name": "Nico Weber",
    "email": "thakis@chromium.org",
    "time": "Wed Nov 11 12:18:38 2026 -0500"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Nov 11 09:21:54 2026 -0800"
  },
  "message": "[lld/mac] Store alloc\u0027d order_file strings on stack, and do less work (#241367)\n\n-order_file files can contain lines that optionally precede a symbol\nname with an object file name (e.g. `foo.o:_foo`). This is very rare,\nyet we always did some string manipulation. Now we early-exit if this\nisn\u0027t used.\n\nWhen it is used, we used to compute a temporary string for objects in\nstatic archives and store it in a string saver. We never use that string\nagain, so instead store it on the stack. The main motivation here is\nthat I\u0027d like to parallelize the code calling this function, and our\nstring saver isn\u0027t thread-safe. But it should also save some memory and\nseems generally nicer.\n\nNo performance change for Chromium Framework. It uses an -order_file\nwith just a handful entries. If I create an order file with 1.5M entries\n(one for each symbol in Chromium Framework), this change reduces link\ntime from 6.079s ± 0.134s to 5.557s ± 0.036s.\nOrder files that large are likely rare in practice.\n\nNo behavior change.\n\nGitOrigin-RevId: 0d43c90fb79c2eb1f55a56eaee9a021fe4ecce1f\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dea47c76a385e1cdf8a4096b341a107f3087ea22",
      "old_mode": 33188,
      "old_path": "MachO/SectionPriorities.cpp",
      "new_id": "12cc88815a2d1b59c08512c4f6cf41c3ce0a5b03",
      "new_mode": 33188,
      "new_path": "MachO/SectionPriorities.cpp"
    }
  ]
}
