]> Cypherpunks repositories - gostls13.git/commitdiff
internal/runtime/gc/scan: correct size class size check
authorMichael Pratt <mpratt@google.com>
Mon, 27 Oct 2025 20:17:31 +0000 (16:17 -0400)
committerGopher Robot <gobot@golang.org>
Tue, 28 Oct 2025 02:09:48 +0000 (19:09 -0700)
This check intends to skip size classes that are too big for scanSpan,
but it compares the size class index with a byte size. It must do the
conversion first.

For #73581.

Change-Id: I6a6a636c8d19fa3bf2a2b609870d67d33f47f66e
Reviewed-on: https://go-review.googlesource.com/c/go/+/715460
Auto-Submit: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
src/internal/runtime/gc/scan/scan_test.go

index 14a0f6f7f48a47af1ffcbff5ed3d3cdd5ef8a7a1..1208783b6f7aa14296b2dbd667e5a81350268696 100644 (file)
@@ -114,7 +114,8 @@ func benchmarkScanSpanPackedAllSizeClasses(b *testing.B, nPages int) {
                if sc == 0 {
                        continue
                }
-               if sc >= gc.MinSizeForMallocHeader {
+               size := gc.SizeClassToSize[sc]
+               if size >= gc.MinSizeForMallocHeader {
                        break
                }
                b.Run(fmt.Sprintf("sizeclass=%d", sc), func(b *testing.B) {