)]}'
{
  "commit": "66b90f0b6d6178b2891e141d0948d7f3d4bbfbe6",
  "tree": "9103cdb9696fd42f5fc9b18c99c51e9582e9e1ab",
  "parents": [
    "f046eeee3f2a87416ad466c70d2aef6ceb507bdf"
  ],
  "author": {
    "name": "Ville Vesilehto",
    "email": "ville@vesilehto.fi",
    "time": "Tue Oct 13 16:51:08 2026 +0000"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Thu Oct 15 09:25:18 2026 -0700"
  },
  "message": "go/ast/inspector: make Cursor.Enclosing inlinable\n\nCursor.Enclosing computed the type mask before returning its\niterator, which put its inlining cost at 89, over the budget of 80.\nAs it was not inlined, every call allocated three times: the iterator,\nand the closure and state of the caller\u0027s range loop.\n\nCompute the mask inside the iterator, as Inspector.PreorderSeq does.\nEnclosing now costs 25, and a range loop over it does not allocate.\nThe 3 allocs/op left below come from the benchmark\u0027s outer Preorder\nloop.\n\ngoos: darwin\ngoarch: arm64\npkg: golang.org/x/tools/go/ast/inspector\ncpu: Apple M1 Max\n                                │   old.txt   │               new.txt               │\n                                │   sec/op    │   sec/op     vs base                │\nInspectCalls/CursorEnclosing-10   245.1µ ± 0%   100.6µ ± 2%  -58.97% (p\u003d0.000 n\u003d20)\n\n                                │    old.txt     │              new.txt               │\n                                │      B/op      │    B/op     vs base                │\nInspectCalls/CursorEnclosing-10   131568.00 ± 0%   80.00 ± 0%  -99.94% (p\u003d0.000 n\u003d20)\n\n                                │    old.txt    │              new.txt               │\n                                │   allocs/op   │ allocs/op   vs base                │\nInspectCalls/CursorEnclosing-10   7047.000 ± 0%   3.000 ± 0%  -99.96% (p\u003d0.000 n\u003d20)\n\nFixes golang/go#82191\n\nChange-Id: Ie7dbc00c4d784eca551f4912fef12bda7f5f6140\nGitHub-Last-Rev: 75e5ac909c42be5dcb85d3a65d4c8447d240f4a8\nGitHub-Pull-Request: golang/tools#696\nReviewed-on: https://go-review.googlesource.com/c/tools/+/848686\nReviewed-by: Alan Donovan \u003cadonovan@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Carlos Amedee \u003ccarlos@golang.org\u003e\nAuto-Submit: Alan Donovan \u003cadonovan@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1c482252da8453cea12297cfb243c6e664fc0667",
      "old_mode": 33188,
      "old_path": "go/ast/inspector/cursor.go",
      "new_id": "d13065f9da36ae13a04cf7494f6992d6e1c44511",
      "new_mode": 33188,
      "new_path": "go/ast/inspector/cursor.go"
    }
  ]
}
