internal/gocore: update for CL 537978

CL 537978 moved some fields in heapArena to a new struct. Update
references.

Fixes golang/go#63359.

Change-Id: I01bdbd6673249ac039bfd8e1890f19eab35e164f
Reviewed-on: https://go-review.googlesource.com/c/debug/+/540297
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/internal/gocore/process.go b/internal/gocore/process.go
index b76a810..7c2ed8f 100644
--- a/internal/gocore/process.go
+++ b/internal/gocore/process.go
@@ -258,8 +258,15 @@
 
 				min := core.Address(arenaSize*(level2+level1*level2size) - arenaBaseOffset)
 				max := min.Add(arenaSize)
-				bitmap := a.Field("bitmap")
-				oneBitBitmap := a.HasField("noMorePtrs") // Starting in 1.20.
+				var bitmap region
+				var oneBitBitmap bool
+				if a.HasField("heapArenaPtrScalar") { // go 1.22
+					bitmap = a.Field("heapArenaPtrScalar").Field("bitmap")
+					oneBitBitmap = true
+				} else {
+					bitmap = a.Field("bitmap")
+					oneBitBitmap = a.HasField("noMorePtrs") // Starting in 1.20.
+				}
 				spans := a.Field("spans")
 
 				arenas = append(arenas, arena{