From 268d90119947d88063964211c0f3b122fffc96a3 Mon Sep 17 00:00:00 2001 From: Shenghou Ma Date: Tue, 12 Aug 2014 23:57:42 -0400 Subject: [PATCH] [dev.power64] runtime: fix morestack Must not save LR. LGTM=rsc R=rsc, iant CC=golang-codereviews https://golang.org/cl/129040044 --- src/pkg/runtime/asm_power64x.s | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pkg/runtime/asm_power64x.s b/src/pkg/runtime/asm_power64x.s index 5c67e19485..2fbaf5a53e 100644 --- a/src/pkg/runtime/asm_power64x.s +++ b/src/pkg/runtime/asm_power64x.s @@ -208,7 +208,7 @@ onm: // the top of a stack (for example, morestack calling newstack // calling the scheduler calling newm calling gc), so we must // record an argument size. For that purpose, it has no arguments. -TEXT runtime·morestack(SB),NOSPLIT,$0-0 +TEXT runtime·morestack(SB),NOSPLIT,$-8-0 // Cannot grow scheduler stack (m->g0). MOVD g_m(g), R7 MOVD m_g0(R7), R8 @@ -244,7 +244,7 @@ TEXT runtime·morestack(SB),NOSPLIT,$0-0 // is still in this function, and not the beginning of the next. UNDEF -TEXT runtime·morestack_noctxt(SB),NOSPLIT,$0-0 +TEXT runtime·morestack_noctxt(SB),NOSPLIT,$-8-0 MOVD R0, R11 BR runtime·morestack(SB) @@ -306,7 +306,7 @@ TEXT runtime·newstackcall(SB), NOSPLIT, $-8-20 BR (CTR) // Note: can't just "BR runtime·NAME(SB)" - bad inlining results. -TEXT reflect·call(SB), NOSPLIT, $0-24 +TEXT reflect·call(SB), NOSPLIT, $-8-24 MOVW argsize+16(FP), R3 DISPATCH(call16, 16) DISPATCH(call32, 32)