// Copyright (c) 2026 Petr Balvín (https://petrbalvin.org) // SPDX-License-Identifier: BSD-3-Clause #include "textflag.h" // func cleanAdd(a, b int64) int64 // A well-behaved function that preserves the goroutine pointer. TEXT ·cleanAdd(SB), NOSPLIT, $0-24 MOV a+0(FP), X5 MOV b+8(FP), X6 ADD X5, X6, X5 MOV X5, ret+16(FP) RET // func dirtyG(a int64) int64 // Deliberately clobbers X27, the goroutine pointer (a serious ABI violation). TEXT ·dirtyG(SB), NOSPLIT, $0-16 MOV $0x5678, X27 MOV a+0(FP), X5 MOV X5, ret+8(FP) RET