aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/alg.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/alg.go')
-rw-r--r--src/runtime/alg.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/runtime/alg.go b/src/runtime/alg.go
index f40cc9b8b6..c11ef4c6ef 100644
--- a/src/runtime/alg.go
+++ b/src/runtime/alg.go
@@ -49,8 +49,12 @@ var useAeshash bool
// memhash should be an internal detail,
// but widely used packages access it using linkname.
// Notable members of the hall of shame include:
+// - github.com/aacfactory/fns
// - github.com/dgraph-io/ristretto
+// - github.com/nbd-wtf/go-nostr
// - github.com/outcaste-io/ristretto
+// - github.com/puzpuzpuz/xsync/v2
+// - github.com/puzpuzpuz/xsync/v3
//
// Do not remove or change the type signature.
// See go.dev/issue/67401.
@@ -67,6 +71,7 @@ func memhash64(p unsafe.Pointer, h uintptr) uintptr
// - github.com/aristanetworks/goarista
// - github.com/bytedance/sonic
// - github.com/bytedance/go-tagexpr/v2
+// - github.com/cloudwego/frugal
//
// Do not remove or change the type signature.
// See go.dev/issue/67401.
@@ -176,6 +181,17 @@ func nilinterhash(p unsafe.Pointer, h uintptr) uintptr {
// maps generated by reflect.MapOf (reflect_typehash, below).
// Note: this function must match the compiler generated
// functions exactly. See issue 37716.
+//
+// typehash should be an internal detail,
+// but widely used packages access it using linkname.
+// Notable members of the hall of shame include:
+// - github.com/puzpuzpuz/xsync/v2
+// - github.com/puzpuzpuz/xsync/v3
+//
+// Do not remove or change the type signature.
+// See go.dev/issue/67401.
+//
+//go:linkname typehash
func typehash(t *_type, p unsafe.Pointer, h uintptr) uintptr {
if t.TFlag&abi.TFlagRegularMemory != 0 {
// Handle ptr sizes specially, see issue 37086.