26 lines
499 B
ArmAsm
26 lines
499 B
ArmAsm
// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
|
|||
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
||
|
|
|
||
|
|
// Large frame offsets and tail calls, byte-parity-checked against go tool asm.
|
||
|
|
|
||
|
|
#include "textflag.h"
|
||
|
|
|
||
|
|
TEXT ·bigframe(SB), $9000-32
|
||
|
|
MOV x+0(FP), X5
|
||
|
|
MOV y+8(FP), X6
|
||
|
|
MOV X5, z+24(FP)
|
||
|
|
MOV $77, X7
|
||
|
|
MOV X7, w+8992(FP)
|
||
|
|
RET
|
||
|
|
|
||
|
|
TEXT ·oddsp(SB), $16-8
|
||
|
|
MOV X5, x-9000(SP)
|
||
|
|
MOV X5, ret+0(FP)
|
||
|
|
RET
|
||
|
|
|
||
|
|
TEXT ·tail(SB), $0-0
|
||
|
|
JMP ·other(SB)
|
||
|
|
|
||
|
|
TEXT ·other(SB), NOSPLIT, $0
|
||
|
|
RET
|