Source file src/internal/runtime/gc/scan/expand_amd64.go
1 // Copyright 2025 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package scan 6 7 import "internal/runtime/gc" 8 9 // ExpandAVX512 expands each bit in packed into f consecutive bits in unpacked, 10 // where f is the word size of objects in sizeClass. 11 // 12 // This is a testing entrypoint to the expanders used by scanSpanPacked*. 13 // 14 //go:noescape 15 func ExpandAVX512(sizeClass int, packed *gc.ObjMask, unpacked *gc.PtrMask) 16 17 // gcExpandersAVX512 is the PCs of expander functions. These cannot be called directly 18 // as they don't follow the Go ABI, but you can use this to check if a given 19 // expander PC is 0. 20 // 21 // It is defined in assembly. 22 var gcExpandersAVX512 [len(gc.SizeClassToSize)]uintptr 23