Source file src/runtime/stubs_amd64.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 "unsafe"
     8  
     9  // Called from compiled code; declared for vet; do NOT call from Go.
    10  func gcWriteBarrierCX()
    11  func gcWriteBarrierDX()
    12  func gcWriteBarrierBX()
    13  func gcWriteBarrierBP()
    14  func gcWriteBarrierSI()
    15  func gcWriteBarrierR8()
    16  func gcWriteBarrierR9()
    17  
    18  // stackcheck checks that SP is in range [g->stack.lo, g->stack.hi).
    19  func stackcheck()
    20  
    21  // Called from assembly only; declared for go vet.
    22  func settls() // argument in DI
    23  
    24  // Retpolines, used by -spectre=ret flag in cmd/asm, cmd/compile.
    25  func retpolineAX()
    26  func retpolineCX()
    27  func retpolineDX()
    28  func retpolineBX()
    29  func retpolineBP()
    30  func retpolineSI()
    31  func retpolineDI()
    32  func retpolineR8()
    33  func retpolineR9()
    34  func retpolineR10()
    35  func retpolineR11()
    36  func retpolineR12()
    37  func retpolineR13()
    38  func retpolineR14()
    39  func retpolineR15()
    40  
    41  //go:noescape
    42  func asmcgocall_no_g(fn, arg unsafe.Pointer)
    43  
    44  //go:systemstack
    45  func asmcgocall_landingpad()
    46  
    47  // Used by reflectcall and the reflect package.
    48  //
    49  // Spills/loads arguments in registers to/from an internal/abi.RegArgs
    50  // respectively. Does not follow the Go ABI.
    51  func spillArgs()
    52  func unspillArgs()
    53  
    54  // getfp returns the frame pointer register of its caller or 0 if not implemented.
    55  // TODO: Make this a compiler intrinsic
    56  func getfp() uintptr
    57  

View as plain text