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