)]}'
{
  "commit": "7b5002433026cd1b0d99859bb76af12ec7ced54b",
  "tree": "749a0c12ca0df9533bf220088b70915f903a24a0",
  "parents": [
    "7b9de668bd68f366d87ba50e9aeb1ba1d0bdb8e5"
  ],
  "author": {
    "name": "Keith Randall",
    "email": "khr@golang.org",
    "time": "Tue Jul 01 14:45:45 2025 -0700"
  },
  "committer": {
    "name": "Keith Randall",
    "email": "khr@golang.org",
    "time": "Thu Jul 24 16:24:36 2025 -0700"
  },
  "message": "runtime: detect successful recovers differently\n\nUse stack unwinding instead of keeping incremental track of the argp\nof defers that are allowed to recover.\n\nIt\u0027s much simpler, and it lets us get rid of the incremental tracking\nby wrapper code. (Ripped out in a subsequent CL.)\n\nWe only need to stack unwind a few frames to get the right answer, and\nonly when recover()ing in a panic situation. It will be more expensive\nin that case, but cheaper in all others.\n\nChange-Id: Id095807db6864b7ac1e1baf09285b77a07c46d19\nReviewed-on: https://go-review.googlesource.com/c/go/+/685355\nReviewed-by: Cherry Mui \u003ccherryyz@google.com\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Michael Knyszek \u003cmknyszek@google.com\u003e\nReviewed-by: Cuong Manh Le \u003ccuong.manhle.vn@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "70e22836f2c8431b39a670dfd970538d0bbf71a0",
      "old_mode": 33188,
      "old_path": "src/runtime/panic.go",
      "new_id": "ebb6405c3da8612112a3d8c957cc700993a8340d",
      "new_mode": 33188,
      "new_path": "src/runtime/panic.go"
    },
    {
      "type": "modify",
      "old_id": "527611f96a29d9beac11acf65bb1d4d0e49cd95e",
      "old_mode": 33188,
      "old_path": "src/runtime/runtime2.go",
      "new_id": "ad8a88e4ff2c0bb798f5d96bdc2969b7ff25e3e3",
      "new_mode": 33188,
      "new_path": "src/runtime/runtime2.go"
    }
  ]
}
