Source file src/runtime/map_fast64.go

     1  // Copyright 2018 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 runtime
     6  
     7  import (
     8  	"internal/abi"
     9  	"internal/runtime/maps"
    10  	"unsafe"
    11  )
    12  
    13  // Functions below pushed from internal/runtime/maps.
    14  
    15  //go:linkname mapaccess1_fast64
    16  func mapaccess1_fast64(t *abi.MapType, m *maps.Map, key uint64) unsafe.Pointer
    17  
    18  // mapaccess2_fast64 should be an internal detail,
    19  // but widely used packages access it using linkname.
    20  // Notable members of the hall of shame include:
    21  //   - github.com/ugorji/go/codec
    22  //
    23  // Do not remove or change the type signature.
    24  // See go.dev/issue/67401.
    25  //
    26  //go:linkname mapaccess2_fast64
    27  func mapaccess2_fast64(t *abi.MapType, m *maps.Map, key uint64) (unsafe.Pointer, bool)
    28  
    29  // mapassign_fast64 should be an internal detail,
    30  // but widely used packages access it using linkname.
    31  // Notable members of the hall of shame include:
    32  //   - github.com/bytedance/sonic
    33  //   - github.com/ugorji/go/codec
    34  //
    35  // Do not remove or change the type signature.
    36  // See go.dev/issue/67401.
    37  //
    38  //go:linkname mapassign_fast64
    39  func mapassign_fast64(t *abi.MapType, m *maps.Map, key uint64) unsafe.Pointer
    40  
    41  // mapassign_fast64ptr should be an internal detail,
    42  // but widely used packages access it using linkname.
    43  // Notable members of the hall of shame include:
    44  //   - github.com/bytedance/sonic
    45  //   - github.com/ugorji/go/codec
    46  //
    47  // Do not remove or change the type signature.
    48  // See go.dev/issue/67401.
    49  //
    50  //go:linkname mapassign_fast64ptr
    51  func mapassign_fast64ptr(t *abi.MapType, m *maps.Map, key unsafe.Pointer) unsafe.Pointer
    52  
    53  //go:linkname mapdelete_fast64
    54  func mapdelete_fast64(t *abi.MapType, m *maps.Map, key uint64)
    55  

View as plain text