mirror of
				https://github.com/golang/go.git
				synced 2025-11-03 18:20:59 +00:00 
			
		
		
		
	Moving these intrinsics to a base package enables other internal/runtime packages to use them. For #54766. Change-Id: I45a530422207dd94b5ad4eee51216c9410a84040 Reviewed-on: https://go-review.googlesource.com/c/go/+/613261 Reviewed-by: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			617 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			617 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// errorcheck -0 -+ -p=internal/runtime/sys -m
 | 
						|
 | 
						|
// Copyright 2024 The Go Authors. All rights reserved.
 | 
						|
// Use of this source code is governed by a BSD-style
 | 
						|
// license that can be found in the LICENSE file.
 | 
						|
 | 
						|
package sys
 | 
						|
 | 
						|
// A function that calls sys.GetCallerPC or sys.GetCallerSP
 | 
						|
// cannot be inlined, no matter how small it is.
 | 
						|
 | 
						|
func GetCallerPC() uintptr
 | 
						|
func GetCallerSP() uintptr
 | 
						|
 | 
						|
func pc() uintptr {
 | 
						|
	return GetCallerPC() + 1
 | 
						|
}
 | 
						|
 | 
						|
func cpc() uintptr { // ERROR "can inline cpc"
 | 
						|
	return pc() + 2
 | 
						|
}
 | 
						|
 | 
						|
func sp() uintptr {
 | 
						|
	return GetCallerSP() + 3
 | 
						|
}
 | 
						|
 | 
						|
func csp() uintptr { // ERROR "can inline csp"
 | 
						|
	return sp() + 4
 | 
						|
}
 |