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