)]}'
{
  "commit": "8f82bf4609c6a0380b5849afe7ccaed87da44a8e",
  "tree": "02c0d4c90eb3b822883af2435fba6b7548513524",
  "parents": [
    "7d08a16fbac95b891ce8e87e1605be0fc789818b"
  ],
  "author": {
    "name": "Michael Anthony Knyszek",
    "email": "mknyszek@google.com",
    "time": "Fri Mar 21 16:26:15 2025 +0000"
  },
  "committer": {
    "name": "Michael Knyszek",
    "email": "mknyszek@google.com",
    "time": "Tue Jun 17 10:14:48 2025 -0700"
  },
  "message": "[release-branch.go1.24] runtime: prevent unnecessary zeroing of large objects with pointers\n\nCL 614257 refactored mallocgc but lost an optimization: if a span for a\nlarge object is already backed by memory fresh from the OS (and thus\nzeroed), we don\u0027t need to zero it. CL 614257 unconditionally zeroed\nspans for large objects that contain pointers.\n\nThis change restores the optimization from before CL 614257, which seems\nto matter in some real-world programs.\n\nWhile we\u0027re here, let\u0027s also fix a hole with the garbage collector being\nable to observe uninitialized memory of the large object is observed\nby the conservative scanner before being published. The gory details are\nin a comment in heapSetTypeLarge. In short, this change makes\nspan.largeType an atomic variable, such that the GC can only observe\ninitialized memory if span.largeType !\u003d nil.\n\nFor #72991.\nFixes #73800.\n\nChange-Id: I2048aeb220ab363d252ffda7d980b8788e9674dc\nReviewed-on: https://go-review.googlesource.com/c/go/+/659956\nReviewed-by: Keith Randall \u003ckhr@golang.org\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Keith Randall \u003ckhr@google.com\u003e\nReviewed-by: Felix Geisendörfer \u003cfelix.geisendoerfer@datadoghq.com\u003e\n(cherry picked from commit df9888ea4e97feb755e452609be5078686370995)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "73d663f7f59e67986a6603dfe9b09c03412f99ca",
      "old_mode": 33188,
      "old_path": "src/runtime/malloc.go",
      "new_id": "ba9e02e976be72747fa81cc5f9c9e6120bb1a791",
      "new_mode": 33188,
      "new_path": "src/runtime/malloc.go"
    },
    {
      "type": "modify",
      "old_id": "148b2d788ef899f0b698ddd9e3aefaa22f97be53",
      "old_mode": 33188,
      "old_path": "src/runtime/mbitmap.go",
      "new_id": "4bffabece2539e050d0bfa5853c7102e0fc9d963",
      "new_mode": 33188,
      "new_path": "src/runtime/mbitmap.go"
    }
  ]
}
