From c77ada1b78ae83c88a4e964a7cbfa2e708073d8b Mon Sep 17 00:00:00 2001 From: Marcel Meyer Date: Thu, 10 Apr 2025 21:52:25 +0000 Subject: [PATCH] cmd/compile/internal/ssa: simplify with built-in min, max functions Change-Id: I08fa2940cd3565c578b1b323656a4fa12e0c65bb GitHub-Last-Rev: 1f673b190ee62fe8158c9e70acf6b0882f6b3f6e GitHub-Pull-Request: golang/go#73322 Reviewed-on: https://go-review.googlesource.com/c/go/+/664675 LUCI-TryBot-Result: Go LUCI Reviewed-by: Keith Randall Reviewed-by: Dmitri Shuralyov Reviewed-by: Keith Randall --- src/cmd/compile/internal/ssa/writebarrier.go | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/cmd/compile/internal/ssa/writebarrier.go b/src/cmd/compile/internal/ssa/writebarrier.go index e235659dc0..9ef3667d51 100644 --- a/src/cmd/compile/internal/ssa/writebarrier.go +++ b/src/cmd/compile/internal/ssa/writebarrier.go @@ -637,17 +637,12 @@ func (f *Func) computeZeroMap(select1 []*Value) map[ID]ZeroRegion { size += ptrSize - d } // Clip to the 64 words that we track. - min := off - max := off + size - if min < 0 { - min = 0 - } - if max > 64*ptrSize { - max = 64 * ptrSize - } + minimum := max(off, 0) + maximum := min(off+size, 64*ptrSize) + // Clear bits for parts that we are writing (and hence // will no longer necessarily be zero). - for i := min; i < max; i += ptrSize { + for i := minimum; i < maximum; i += ptrSize { bit := i / ptrSize z.mask &^= 1 << uint(bit) }