]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: fix registers for bounds check calling convention on arm
authorKeith Randall <khr@google.com>
Mon, 18 Mar 2019 19:49:49 +0000 (12:49 -0700)
committerKeith Randall <khr@golang.org>
Mon, 18 Mar 2019 20:21:51 +0000 (20:21 +0000)
Some of the registers in which indexes + length were supposed to
be passed were wrong.

Update #30116

Change-Id: I1089366b7429c1e0ecad9219b847db069ce6b5d6
Reviewed-on: https://go-review.googlesource.com/c/go/+/168041
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/runtime/asm_arm.s

index c1e915b97ccb5bb266a6acfa6a28fba452c4e21e..af7da64ce6749c1df328da396dd216b053b927cc 100644 (file)
@@ -1054,22 +1054,22 @@ TEXT runtime·panicExtendIndexU(SB),NOSPLIT,$0-12
 TEXT runtime·panicExtendSliceAlen(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
        MOVW    R1, lo+4(FP)
-       MOVW    R3, y+8(FP)
+       MOVW    R2, y+8(FP)
        JMP     runtime·goPanicExtendSliceAlen(SB)
 TEXT runtime·panicExtendSliceAlenU(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
        MOVW    R1, lo+4(FP)
-       MOVW    R3, y+8(FP)
+       MOVW    R2, y+8(FP)
        JMP     runtime·goPanicExtendSliceAlenU(SB)
 TEXT runtime·panicExtendSliceAcap(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
        MOVW    R1, lo+4(FP)
-       MOVW    R3, y+8(FP)
+       MOVW    R2, y+8(FP)
        JMP     runtime·goPanicExtendSliceAcap(SB)
 TEXT runtime·panicExtendSliceAcapU(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
        MOVW    R1, lo+4(FP)
-       MOVW    R3, y+8(FP)
+       MOVW    R2, y+8(FP)
        JMP     runtime·goPanicExtendSliceAcapU(SB)
 TEXT runtime·panicExtendSliceB(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
@@ -1083,33 +1083,33 @@ TEXT runtime·panicExtendSliceBU(SB),NOSPLIT,$0-12
        JMP     runtime·goPanicExtendSliceBU(SB)
 TEXT runtime·panicExtendSlice3Alen(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
-       MOVW    R3, lo+4(FP)
+       MOVW    R2, lo+4(FP)
        MOVW    R3, y+8(FP)
        JMP     runtime·goPanicExtendSlice3Alen(SB)
 TEXT runtime·panicExtendSlice3AlenU(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
-       MOVW    R3, lo+4(FP)
+       MOVW    R2, lo+4(FP)
        MOVW    R3, y+8(FP)
        JMP     runtime·goPanicExtendSlice3AlenU(SB)
 TEXT runtime·panicExtendSlice3Acap(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
-       MOVW    R3, lo+4(FP)
+       MOVW    R2, lo+4(FP)
        MOVW    R3, y+8(FP)
        JMP     runtime·goPanicExtendSlice3Acap(SB)
 TEXT runtime·panicExtendSlice3AcapU(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
-       MOVW    R3, lo+4(FP)
+       MOVW    R2, lo+4(FP)
        MOVW    R3, y+8(FP)
        JMP     runtime·goPanicExtendSlice3AcapU(SB)
 TEXT runtime·panicExtendSlice3B(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
        MOVW    R1, lo+4(FP)
-       MOVW    R3, y+8(FP)
+       MOVW    R2, y+8(FP)
        JMP     runtime·goPanicExtendSlice3B(SB)
 TEXT runtime·panicExtendSlice3BU(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)
        MOVW    R1, lo+4(FP)
-       MOVW    R3, y+8(FP)
+       MOVW    R2, y+8(FP)
        JMP     runtime·goPanicExtendSlice3BU(SB)
 TEXT runtime·panicExtendSlice3C(SB),NOSPLIT,$0-12
        MOVW    R4, hi+0(FP)