Source file src/runtime/stubs_ppc64x.go

     1  // Copyright 2019 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  //go:build ppc64le || ppc64
     6  
     7  package runtime
     8  
     9  import "unsafe"
    10  
    11  // Called from assembly only; declared for go vet.
    12  //
    13  // load_g is also called from runtime/cgo.
    14  //
    15  // load_g should be an internal detail,
    16  // but widely used packages access it using linkname.
    17  // Notable members of the hall of shame include:
    18  //   - github.com/ebitengine/purego
    19  //
    20  //go:linkname load_g
    21  func load_g()
    22  func save_g()
    23  func reginit()
    24  
    25  //go:noescape
    26  func asmcgocall_no_g(fn, arg unsafe.Pointer)
    27  
    28  // Used by reflectcall and the reflect package.
    29  //
    30  // Spills/loads arguments in registers to/from an internal/abi.RegArgs
    31  // respectively. Does not follow the Go ABI.
    32  //
    33  //go:linknamestd spillArgs
    34  func spillArgs()
    35  
    36  //go:linknamestd unspillArgs
    37  func unspillArgs()
    38  
    39  // getfp returns the frame pointer register of its caller or 0 if not implemented.
    40  // TODO: Make this a compiler intrinsic
    41  //
    42  //go:nosplit
    43  func getfp() uintptr { return 0 }
    44  

View as plain text