// Copyright (c) 2026 Petr Balvín (https://petrbalvin.org) // SPDX-License-Identifier: BSD-3-Clause // Differential kernel for the arm64 bookkeeping statements: the funcdata.h // pseudo-directives (GO_ARGS, NO_LOCAL_POINTERS, FUNCDATA, PCDATA) contribute // no instruction bytes, and every function is byte-compared against // go tool asm. #include "textflag.h" #include "funcdata.h" // func bookkeep() TEXT ·bookkeep(SB), NOSPLIT, $8-0 GO_ARGS FUNCDATA $3, inline_tree(SB) PCDATA $1, $2 MOVD R1, 0(RSP) RET // func bookkeepNoLocals() TEXT ·bookkeepNoLocals(SB), NOSPLIT, $16-0 NO_LOCAL_POINTERS PCDATA $0, $0 PCDATA $1, $1 MOVD R2, 8(RSP) RET // func bookkeepPlain() TEXT ·bookkeepPlain(SB), NOSPLIT, $0-0 MOVD R3, R4 RET