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  

View as plain text