1// Copyright 2013 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 amd64 || 386 6 7package runtime 8 9import ( 10 "internal/goarch" 11 "unsafe" 12) 13 14// adjust Gobuf as if it executed a call to fn with context ctxt 15// and then stopped before the first instruction in fn. 16func gostartcall(buf *gobuf, fn, ctxt unsafe.Pointer) { 17 sp := buf.sp 18 sp -= goarch.PtrSize 19 *(*uintptr)(unsafe.Pointer(sp)) = buf.pc 20 buf.sp = sp 21 buf.pc = uintptr(fn) 22 buf.ctxt = ctxt 23} 24