// Copyright 2016 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 runtime import ( "unsafe" "internal/abi" "internal/runtime/sys" ) // adjust Gobuf as if it executed a call to fn with context ctxt // and then did an immediate Gosave. func gostartcall(buf *gobuf, fn, ctxt unsafe.Pointer) { if buf.lr != 0 { throw("invalid use of gostartcall") } // Use double the PC quantum on riscv64, so that we retain // four byte alignment and use non-compressed instructions. buf.lr = abi.FuncPCABI0(goexit) + sys.PCQuantum*2 buf.pc = uintptr(fn) buf.ctxt = ctxt }