]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: remove unnecessary argument stores for panicIndex etc. on ARM64
authorCherry Mui <cherryyz@google.com>
Wed, 22 Sep 2021 20:49:39 +0000 (16:49 -0400)
committerCherry Mui <cherryyz@google.com>
Fri, 29 Oct 2021 19:35:47 +0000 (19:35 +0000)
If register ABI is used, no need to store the arguments to stack.
I forgot them in CL 323937.

Change-Id: I888af2b547a8fc97d13716bc8e8f3acd5c5bc127
Reviewed-on: https://go-review.googlesource.com/c/go/+/351609
Trust: Cherry Mui <cherryyz@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
src/runtime/asm_arm64.s

index 8cbd17fa7506df985bfc59cf25c411a9bfc6ee6e..9e9d9314efc0b808badc0b27e1f55f30161453a5 100644 (file)
@@ -1383,12 +1383,16 @@ flush:
 // Defined as ABIInternal since the compiler generates ABIInternal
 // calls to it directly and it does not use the stack-based Go ABI.
 TEXT runtime·panicIndex<ABIInternal>(SB),NOSPLIT,$0-16
+#ifndef GOEXPERIMENT_regabiargs
        MOVD    R0, x+0(FP)
        MOVD    R1, y+8(FP)
+#endif
        JMP     runtime·goPanicIndex<ABIInternal>(SB)
 TEXT runtime·panicIndexU<ABIInternal>(SB),NOSPLIT,$0-16
+#ifndef GOEXPERIMENT_regabiargs
        MOVD    R0, x+0(FP)
        MOVD    R1, y+8(FP)
+#endif
        JMP     runtime·goPanicIndexU<ABIInternal>(SB)
 TEXT runtime·panicSliceAlen<ABIInternal>(SB),NOSPLIT,$0-16
 #ifdef GOEXPERIMENT_regabiargs
@@ -1427,12 +1431,16 @@ TEXT runtime·panicSliceAcapU<ABIInternal>(SB),NOSPLIT,$0-16
 #endif
        JMP     runtime·goPanicSliceAcapU<ABIInternal>(SB)
 TEXT runtime·panicSliceB<ABIInternal>(SB),NOSPLIT,$0-16
+#ifndef GOEXPERIMENT_regabiargs
        MOVD    R0, x+0(FP)
        MOVD    R1, y+8(FP)
+#endif
        JMP     runtime·goPanicSliceB<ABIInternal>(SB)
 TEXT runtime·panicSliceBU<ABIInternal>(SB),NOSPLIT,$0-16
+#ifndef GOEXPERIMENT_regabiargs
        MOVD    R0, x+0(FP)
        MOVD    R1, y+8(FP)
+#endif
        JMP     runtime·goPanicSliceBU<ABIInternal>(SB)
 TEXT runtime·panicSlice3Alen<ABIInternal>(SB),NOSPLIT,$0-16
 #ifdef GOEXPERIMENT_regabiargs
@@ -1489,12 +1497,16 @@ TEXT runtime·panicSlice3BU<ABIInternal>(SB),NOSPLIT,$0-16
 #endif
        JMP     runtime·goPanicSlice3BU<ABIInternal>(SB)
 TEXT runtime·panicSlice3C<ABIInternal>(SB),NOSPLIT,$0-16
+#ifndef GOEXPERIMENT_regabiargs
        MOVD    R0, x+0(FP)
        MOVD    R1, y+8(FP)
+#endif
        JMP     runtime·goPanicSlice3C<ABIInternal>(SB)
 TEXT runtime·panicSlice3CU<ABIInternal>(SB),NOSPLIT,$0-16
+#ifndef GOEXPERIMENT_regabiargs
        MOVD    R0, x+0(FP)
        MOVD    R1, y+8(FP)
+#endif
        JMP     runtime·goPanicSlice3CU<ABIInternal>(SB)
 TEXT runtime·panicSliceConvert<ABIInternal>(SB),NOSPLIT,$0-16
 #ifdef GOEXPERIMENT_regabiargs