)]}'
{
  "commit": "fe9001042f6eed0442ac6f65018f3275cefe2cda",
  "tree": "63d24bebc0c764a4dac072e025831620d4d49e98",
  "parents": [
    "3d67034bd667e8c73a0374331f79db186b137bc3"
  ],
  "author": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Thu Jul 16 10:49:43 2026 -0400"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Fri Jul 17 13:27:49 2026 -0700"
  },
  "message": "go/callgraph/rta: use typesinternal.ForEachElement\n\nThis CL factors RTA to use the generic ForEachElement type\ntraversal. This makes it run ~13% faster on a benchmark\nof kubernetes/cmd/kubelet by a combination of early pruning\nand deduplicated method-set construction.\n\nThe whole computation of RuntimeTypes is basically unnecessary\nsince no-one (to my knowledge) uses it, but the existing API\ncommits us to it, including the awkward meaning of the boolean\nmap value, which requires exposing the \u0027skip\u0027 flag from\nForEachElement.\n\nThe sense of the \u0027skip bool\u0027 parameter was inverted to \u0027access\u0027,\nmeaning accessible to reflection.\n\nChange-Id: I4f583cf43c5b55c0b81f91fdaac14802fc414bd8\nReviewed-on: https://go-review.googlesource.com/c/tools/+/801621\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Alex Putman \u003caputman@golang.org\u003e\nAuto-Submit: Alan Donovan \u003cadonovan@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6cee0c38cac2bb3394c06452137e417279b5a4fb",
      "old_mode": 33188,
      "old_path": "go/callgraph/rta/rta.go",
      "new_id": "fdb64e05e2b626f704ac7a47fea438ee0205559f",
      "new_mode": 33188,
      "new_path": "go/callgraph/rta/rta.go"
    },
    {
      "type": "modify",
      "old_id": "666ef365e789ae74c75e55c0a425c449bd341e1d",
      "old_mode": 33188,
      "old_path": "go/ssa/methods.go",
      "new_id": "8de0785ca9fb1290abcfbc5d399451affc08f59f",
      "new_mode": 33188,
      "new_path": "go/ssa/methods.go"
    },
    {
      "type": "modify",
      "old_id": "6e0613c4af8270bc68a93762dd540517c1b89f6e",
      "old_mode": 33188,
      "old_path": "internal/typesinternal/element.go",
      "new_id": "bab37fbfe0e85ab9f6536ffdc2df7e2f8407940c",
      "new_mode": 33188,
      "new_path": "internal/typesinternal/element.go"
    },
    {
      "type": "modify",
      "old_id": "60789368b99a927ce480323a1c957857f60752ec",
      "old_mode": 33188,
      "old_path": "internal/typesinternal/element_test.go",
      "new_id": "1faa86c6604a329c39606ed8b7aed32ab41fd41a",
      "new_mode": 33188,
      "new_path": "internal/typesinternal/element_test.go"
    }
  ]
}
