mirror of https://github.com/golang/go.git
all: replace leading spaces with tabs in assembly
Most of these are one-off mistakes. Only one file was all spaces. Change-Id: I277c3ce4a4811aa4248c90676f66bc775ae8d062 Reviewed-on: https://go-review.googlesource.com/c/go/+/478976 Run-TryBot: Michael Pratt <mpratt@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
parent
7b88715882
commit
b0dfcb7465
|
|
@ -74,7 +74,7 @@ TEXT errors(SB),$0
|
||||||
MOVQ (AX), DR3 // ERROR "invalid instruction"
|
MOVQ (AX), DR3 // ERROR "invalid instruction"
|
||||||
MOVQ (AX), DR6 // ERROR "invalid instruction"
|
MOVQ (AX), DR6 // ERROR "invalid instruction"
|
||||||
MOVQ (AX), DR7 // ERROR "invalid instruction"
|
MOVQ (AX), DR7 // ERROR "invalid instruction"
|
||||||
// AVX512GATHER index/index #UD cases.
|
// AVX512GATHER index/index #UD cases.
|
||||||
VPGATHERQQ (BP)(X2*2), K1, X2 // ERROR "index and destination registers should be distinct"
|
VPGATHERQQ (BP)(X2*2), K1, X2 // ERROR "index and destination registers should be distinct"
|
||||||
VPGATHERQQ (BP)(Y15*2), K1, Y15 // ERROR "index and destination registers should be distinct"
|
VPGATHERQQ (BP)(Y15*2), K1, Y15 // ERROR "index and destination registers should be distinct"
|
||||||
VPGATHERQQ (BP)(Z20*2), K1, Z20 // ERROR "index and destination registers should be distinct"
|
VPGATHERQQ (BP)(Z20*2), K1, Z20 // ERROR "index and destination registers should be distinct"
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -270,4 +270,4 @@ TEXT asmtest(SB), DUPOK|NOSPLIT, $0
|
||||||
HASHCHK -8(R1), R2 // 7fe115e5
|
HASHCHK -8(R1), R2 // 7fe115e5
|
||||||
HASHCHKP -8(R1), R2 // 7fe11565
|
HASHCHKP -8(R1), R2 // 7fe11565
|
||||||
|
|
||||||
RET
|
RET
|
||||||
|
|
|
||||||
|
|
@ -5,4 +5,4 @@
|
||||||
#include "textflag.h"
|
#include "textflag.h"
|
||||||
|
|
||||||
TEXT ·singleInstruction(SB),NOSPLIT,$0
|
TEXT ·singleInstruction(SB),NOSPLIT,$0
|
||||||
RET
|
RET
|
||||||
|
|
|
||||||
|
|
@ -149,7 +149,7 @@ ks128Loop:
|
||||||
BNE ks128Loop
|
BNE ks128Loop
|
||||||
CBZ R11, ksDone // If dec is nil we are done
|
CBZ R11, ksDone // If dec is nil we are done
|
||||||
SUB $176, R10
|
SUB $176, R10
|
||||||
// Decryption keys are encryption keys with InverseMixColumns applied
|
// Decryption keys are encryption keys with InverseMixColumns applied
|
||||||
VLD1.P 64(R10), [V0.B16, V1.B16, V2.B16, V3.B16]
|
VLD1.P 64(R10), [V0.B16, V1.B16, V2.B16, V3.B16]
|
||||||
VMOV V0.B16, V7.B16
|
VMOV V0.B16, V7.B16
|
||||||
AESIMC V1.B16, V6.B16
|
AESIMC V1.B16, V6.B16
|
||||||
|
|
|
||||||
|
|
@ -164,7 +164,7 @@ initEncFinish:
|
||||||
AESE T0.B16, B0.B16
|
AESE T0.B16, B0.B16
|
||||||
AESMC B0.B16, B0.B16
|
AESMC B0.B16, B0.B16
|
||||||
AESE T1.B16, B0.B16
|
AESE T1.B16, B0.B16
|
||||||
VEOR T2.B16, B0.B16, B0.B16
|
VEOR T2.B16, B0.B16, B0.B16
|
||||||
|
|
||||||
VREV64 B0.B16, B0.B16
|
VREV64 B0.B16, B0.B16
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1208,7 +1208,7 @@ sqrLoop:
|
||||||
BR sqrLoop
|
BR sqrLoop
|
||||||
|
|
||||||
done:
|
done:
|
||||||
MOVD $p256mul<>+0x00(SB), CPOOL
|
MOVD $p256mul<>+0x00(SB), CPOOL
|
||||||
|
|
||||||
XXPERMDI T0, T0, $2, T0
|
XXPERMDI T0, T0, $2, T0
|
||||||
XXPERMDI T1, T1, $2, T1
|
XXPERMDI T1, T1, $2, T1
|
||||||
|
|
|
||||||
|
|
@ -518,7 +518,7 @@ end:
|
||||||
#define CALC_F2_POST(REG_A,REG_B,REG_C,REG_E) \
|
#define CALC_F2_POST(REG_A,REG_B,REG_C,REG_E) \
|
||||||
XORL REG_B, REG_A \
|
XORL REG_B, REG_A \
|
||||||
ADDL R12, REG_E \
|
ADDL R12, REG_E \
|
||||||
XORL REG_C, REG_A
|
XORL REG_C, REG_A
|
||||||
|
|
||||||
#define CALC_19 \
|
#define CALC_19 \
|
||||||
CALC_F2_PRE(0x8c,DX,CX,AX) \
|
CALC_F2_PRE(0x8c,DX,CX,AX) \
|
||||||
|
|
|
||||||
|
|
@ -112,11 +112,11 @@ loop:
|
||||||
ANDCC $7,R6,R8 // any leftover bytes
|
ANDCC $7,R6,R8 // any leftover bytes
|
||||||
BEQ done // none --> done
|
BEQ done // none --> done
|
||||||
MOVD R8,CTR // byte count
|
MOVD R8,CTR // byte count
|
||||||
PCALIGN $16 // align short loop
|
PCALIGN $16 // align short loop
|
||||||
short:
|
short:
|
||||||
MOVBZ 0(R5),R8 // get v
|
MOVBZ 0(R5),R8 // get v
|
||||||
MOVBZ R7,R9 // byte(crc) -> R8 BE vs LE?
|
MOVBZ R7,R9 // byte(crc) -> R8 BE vs LE?
|
||||||
SRD $8,R7,R14 // crc>>8
|
SRD $8,R7,R14 // crc>>8
|
||||||
XOR R8,R9,R8 // byte(crc)^v -> R8
|
XOR R8,R9,R8 // byte(crc)^v -> R8
|
||||||
ADD $1,R5 // ptr to next v
|
ADD $1,R5 // ptr to next v
|
||||||
SLD $2,R8 // convert index-> bytes
|
SLD $2,R8 // convert index-> bytes
|
||||||
|
|
|
||||||
|
|
@ -1090,7 +1090,7 @@ DATA ·IEEEConst+4328(SB)/8,$0xedb88320b1e6b092
|
||||||
|
|
||||||
GLOBL ·IEEEConst(SB),RODATA,$4336
|
GLOBL ·IEEEConst(SB),RODATA,$4336
|
||||||
|
|
||||||
/* Barrett constant m - (4^32)/n */
|
/* Barrett constant m - (4^32)/n */
|
||||||
DATA ·IEEEBarConst(SB)/8,$0x00000001f7011641
|
DATA ·IEEEBarConst(SB)/8,$0x00000001f7011641
|
||||||
DATA ·IEEEBarConst+8(SB)/8,$0x0000000000000000
|
DATA ·IEEEBarConst+8(SB)/8,$0x0000000000000000
|
||||||
DATA ·IEEEBarConst+16(SB)/8,$0x00000001db710641
|
DATA ·IEEEBarConst+16(SB)/8,$0x00000001db710641
|
||||||
|
|
@ -2184,7 +2184,7 @@ DATA ·CastConst+4328(SB)/8,$0x82f63b786ea2d55c
|
||||||
|
|
||||||
GLOBL ·CastConst(SB),RODATA,$4336
|
GLOBL ·CastConst(SB),RODATA,$4336
|
||||||
|
|
||||||
/* Barrett constant m - (4^32)/n */
|
/* Barrett constant m - (4^32)/n */
|
||||||
DATA ·CastBarConst(SB)/8,$0x00000000dea713f1
|
DATA ·CastBarConst(SB)/8,$0x00000000dea713f1
|
||||||
DATA ·CastBarConst+8(SB)/8,$0x0000000000000000
|
DATA ·CastBarConst+8(SB)/8,$0x0000000000000000
|
||||||
DATA ·CastBarConst+16(SB)/8,$0x0000000105ec76f1
|
DATA ·CastBarConst+16(SB)/8,$0x0000000105ec76f1
|
||||||
|
|
@ -3278,7 +3278,7 @@ DATA ·KoopConst+4328(SB)/8,$0xeb31d82e0c62ab26
|
||||||
|
|
||||||
GLOBL ·KoopConst(SB),RODATA,$4336
|
GLOBL ·KoopConst(SB),RODATA,$4336
|
||||||
|
|
||||||
/* Barrett constant m - (4^32)/n */
|
/* Barrett constant m - (4^32)/n */
|
||||||
DATA ·KoopBarConst(SB)/8,$0x0000000017d232cd
|
DATA ·KoopBarConst(SB)/8,$0x0000000017d232cd
|
||||||
DATA ·KoopBarConst+8(SB)/8,$0x0000000000000000
|
DATA ·KoopBarConst+8(SB)/8,$0x0000000000000000
|
||||||
DATA ·KoopBarConst+16(SB)/8,$0x00000001d663b05d
|
DATA ·KoopBarConst+16(SB)/8,$0x00000001d663b05d
|
||||||
|
|
|
||||||
|
|
@ -62,113 +62,113 @@ GLOBL ·atanhtabh2075<> + 0(SB), RODATA, $16
|
||||||
// with coefficients determined with a Remez exchange algorithm.
|
// with coefficients determined with a Remez exchange algorithm.
|
||||||
|
|
||||||
TEXT ·atanhAsm(SB), NOSPLIT, $0-16
|
TEXT ·atanhAsm(SB), NOSPLIT, $0-16
|
||||||
FMOVD x+0(FP), F0
|
FMOVD x+0(FP), F0
|
||||||
MOVD $·atanhrodataL10<>+0(SB), R5
|
MOVD $·atanhrodataL10<>+0(SB), R5
|
||||||
LGDR F0, R1
|
LGDR F0, R1
|
||||||
WORD $0xC0393FEF //iilf %r3,1072693247
|
WORD $0xC0393FEF //iilf %r3,1072693247
|
||||||
BYTE $0xFF
|
BYTE $0xFF
|
||||||
BYTE $0xFF
|
BYTE $0xFF
|
||||||
SRAD $32, R1
|
SRAD $32, R1
|
||||||
WORD $0xB9170021 //llgtr %r2,%r1
|
WORD $0xB9170021 //llgtr %r2,%r1
|
||||||
MOVW R2, R6
|
MOVW R2, R6
|
||||||
MOVW R3, R7
|
MOVW R3, R7
|
||||||
CMPBGT R6, R7, L2
|
CMPBGT R6, R7, L2
|
||||||
WORD $0xC0392FFF //iilf %r3,805306367
|
WORD $0xC0392FFF //iilf %r3,805306367
|
||||||
BYTE $0xFF
|
BYTE $0xFF
|
||||||
BYTE $0xFF
|
BYTE $0xFF
|
||||||
MOVW R2, R6
|
MOVW R2, R6
|
||||||
MOVW R3, R7
|
MOVW R3, R7
|
||||||
CMPBGT R6, R7, L9
|
CMPBGT R6, R7, L9
|
||||||
L3:
|
L3:
|
||||||
FMOVD 144(R5), F2
|
FMOVD 144(R5), F2
|
||||||
FMADD F2, F0, F0
|
FMADD F2, F0, F0
|
||||||
L1:
|
L1:
|
||||||
FMOVD F0, ret+8(FP)
|
FMOVD F0, ret+8(FP)
|
||||||
RET
|
RET
|
||||||
|
|
||||||
L2:
|
L2:
|
||||||
WORD $0xED005088 //cdb %f0,.L12-.L10(%r5)
|
WORD $0xED005088 //cdb %f0,.L12-.L10(%r5)
|
||||||
BYTE $0x00
|
BYTE $0x00
|
||||||
BYTE $0x19
|
BYTE $0x19
|
||||||
BEQ L5
|
BEQ L5
|
||||||
WORD $0xED005080 //cdb %f0,.L13-.L10(%r5)
|
WORD $0xED005080 //cdb %f0,.L13-.L10(%r5)
|
||||||
BYTE $0x00
|
BYTE $0x00
|
||||||
BYTE $0x19
|
BYTE $0x19
|
||||||
BEQ L5
|
BEQ L5
|
||||||
WFCEDBS V0, V0, V2
|
WFCEDBS V0, V0, V2
|
||||||
BVS L1
|
BVS L1
|
||||||
FMOVD 120(R5), F0
|
FMOVD 120(R5), F0
|
||||||
BR L1
|
BR L1
|
||||||
L5:
|
L5:
|
||||||
WORD $0xED005070 //ddb %f0,.L15-.L10(%r5)
|
WORD $0xED005070 //ddb %f0,.L15-.L10(%r5)
|
||||||
BYTE $0x00
|
BYTE $0x00
|
||||||
BYTE $0x1D
|
BYTE $0x1D
|
||||||
FMOVD F0, ret+8(FP)
|
FMOVD F0, ret+8(FP)
|
||||||
RET
|
RET
|
||||||
|
|
||||||
L9:
|
L9:
|
||||||
FMOVD F0, F2
|
FMOVD F0, F2
|
||||||
MOVD $·atanhtabh2075<>+0(SB), R2
|
MOVD $·atanhtabh2075<>+0(SB), R2
|
||||||
SRW $31, R1, R1
|
SRW $31, R1, R1
|
||||||
FMOVD 104(R5), F4
|
FMOVD 104(R5), F4
|
||||||
MOVW R1, R1
|
MOVW R1, R1
|
||||||
SLD $3, R1, R1
|
SLD $3, R1, R1
|
||||||
WORD $0x68012000 //ld %f0,0(%r1,%r2)
|
WORD $0x68012000 //ld %f0,0(%r1,%r2)
|
||||||
WFMADB V2, V4, V0, V4
|
WFMADB V2, V4, V0, V4
|
||||||
VLEG $0, 96(R5), V16
|
VLEG $0, 96(R5), V16
|
||||||
FDIV F4, F2
|
FDIV F4, F2
|
||||||
WORD $0xC0298006 //iilf %r2,2147909631
|
WORD $0xC0298006 //iilf %r2,2147909631
|
||||||
BYTE $0x7F
|
BYTE $0x7F
|
||||||
BYTE $0xFF
|
BYTE $0xFF
|
||||||
FMOVD 88(R5), F6
|
FMOVD 88(R5), F6
|
||||||
FMOVD 80(R5), F1
|
FMOVD 80(R5), F1
|
||||||
FMOVD 72(R5), F7
|
FMOVD 72(R5), F7
|
||||||
FMOVD 64(R5), F5
|
FMOVD 64(R5), F5
|
||||||
FMOVD F2, F4
|
FMOVD F2, F4
|
||||||
WORD $0xED405088 //adb %f4,.L12-.L10(%r5)
|
WORD $0xED405088 //adb %f4,.L12-.L10(%r5)
|
||||||
BYTE $0x00
|
BYTE $0x00
|
||||||
BYTE $0x1A
|
BYTE $0x1A
|
||||||
LGDR F4, R4
|
LGDR F4, R4
|
||||||
SRAD $32, R4
|
SRAD $32, R4
|
||||||
FMOVD F4, F3
|
FMOVD F4, F3
|
||||||
WORD $0xED305088 //sdb %f3,.L12-.L10(%r5)
|
WORD $0xED305088 //sdb %f3,.L12-.L10(%r5)
|
||||||
BYTE $0x00
|
BYTE $0x00
|
||||||
BYTE $0x1B
|
BYTE $0x1B
|
||||||
SUBW R4, R2
|
SUBW R4, R2
|
||||||
WFSDB V3, V2, V3
|
WFSDB V3, V2, V3
|
||||||
RISBGZ $32, $47, $0, R2, R1
|
RISBGZ $32, $47, $0, R2, R1
|
||||||
SLD $32, R1, R1
|
SLD $32, R1, R1
|
||||||
LDGR R1, F2
|
LDGR R1, F2
|
||||||
WFMADB V4, V2, V16, V4
|
WFMADB V4, V2, V16, V4
|
||||||
SRAW $8, R2, R1
|
SRAW $8, R2, R1
|
||||||
WFMADB V4, V5, V6, V5
|
WFMADB V4, V5, V6, V5
|
||||||
WFMDB V4, V4, V6
|
WFMDB V4, V4, V6
|
||||||
WFMADB V4, V1, V7, V1
|
WFMADB V4, V1, V7, V1
|
||||||
WFMADB V2, V3, V4, V2
|
WFMADB V2, V3, V4, V2
|
||||||
WFMADB V1, V6, V5, V1
|
WFMADB V1, V6, V5, V1
|
||||||
FMOVD 56(R5), F3
|
FMOVD 56(R5), F3
|
||||||
FMOVD 48(R5), F5
|
FMOVD 48(R5), F5
|
||||||
WFMADB V4, V5, V3, V4
|
WFMADB V4, V5, V3, V4
|
||||||
FMOVD 40(R5), F3
|
FMOVD 40(R5), F3
|
||||||
FMADD F1, F6, F4
|
FMADD F1, F6, F4
|
||||||
FMOVD 32(R5), F1
|
FMOVD 32(R5), F1
|
||||||
FMADD F3, F2, F1
|
FMADD F3, F2, F1
|
||||||
ANDW $0xFFFFFF00, R1
|
ANDW $0xFFFFFF00, R1
|
||||||
WFMADB V6, V4, V1, V6
|
WFMADB V6, V4, V1, V6
|
||||||
FMOVD 24(R5), F3
|
FMOVD 24(R5), F3
|
||||||
ORW $0x45000000, R1
|
ORW $0x45000000, R1
|
||||||
WFMADB V2, V6, V3, V6
|
WFMADB V2, V6, V3, V6
|
||||||
VLVGF $0, R1, V4
|
VLVGF $0, R1, V4
|
||||||
LDEBR F4, F4
|
LDEBR F4, F4
|
||||||
RISBGZ $57, $60, $51, R2, R2
|
RISBGZ $57, $60, $51, R2, R2
|
||||||
MOVD $·atanhtab2076<>+0(SB), R1
|
MOVD $·atanhtab2076<>+0(SB), R1
|
||||||
FMOVD 16(R5), F3
|
FMOVD 16(R5), F3
|
||||||
WORD $0x68521000 //ld %f5,0(%r2,%r1)
|
WORD $0x68521000 //ld %f5,0(%r2,%r1)
|
||||||
FMOVD 8(R5), F1
|
FMOVD 8(R5), F1
|
||||||
WFMADB V2, V6, V5, V2
|
WFMADB V2, V6, V5, V2
|
||||||
WFMADB V4, V3, V1, V4
|
WFMADB V4, V3, V1, V4
|
||||||
FMOVD 0(R5), F6
|
FMOVD 0(R5), F6
|
||||||
FMADD F6, F4, F2
|
FMADD F6, F4, F2
|
||||||
FMUL F2, F0
|
FMUL F2, F0
|
||||||
FMOVD F0, ret+8(FP)
|
FMOVD F0, ret+8(FP)
|
||||||
RET
|
RET
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ TEXT ·archLog(SB),NOSPLIT,$0
|
||||||
SUBSD X2, X0 // x0= (hfsq-(s*(hfsq+R)+k*Ln2Lo))-f, x1= k
|
SUBSD X2, X0 // x0= (hfsq-(s*(hfsq+R)+k*Ln2Lo))-f, x1= k
|
||||||
MULSD $Ln2Hi, X1 // x0= (hfsq-(s*(hfsq+R)+k*Ln2Lo))-f, x1= k*Ln2Hi
|
MULSD $Ln2Hi, X1 // x0= (hfsq-(s*(hfsq+R)+k*Ln2Lo))-f, x1= k*Ln2Hi
|
||||||
SUBSD X0, X1 // x1= k*Ln2Hi-((hfsq-(s*(hfsq+R)+k*Ln2Lo))-f)
|
SUBSD X0, X1 // x1= k*Ln2Hi-((hfsq-(s*(hfsq+R)+k*Ln2Lo))-f)
|
||||||
MOVSD X1, ret+8(FP)
|
MOVSD X1, ret+8(FP)
|
||||||
RET
|
RET
|
||||||
isInfOrNaN:
|
isInfOrNaN:
|
||||||
MOVQ BX, ret+8(FP) // +Inf or NaN, return x
|
MOVQ BX, ret+8(FP) // +Inf or NaN, return x
|
||||||
|
|
|
||||||
|
|
@ -83,8 +83,8 @@ TEXT runtime·asminit(SB),NOSPLIT|NOFRAME,$0-0
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TEXT runtime·mstart(SB),NOSPLIT|TOPFRAME,$0
|
TEXT runtime·mstart(SB),NOSPLIT|TOPFRAME,$0
|
||||||
JAL runtime·mstart0(SB)
|
JAL runtime·mstart0(SB)
|
||||||
RET // not reached
|
RET // not reached
|
||||||
|
|
||||||
// func cputicks() int64
|
// func cputicks() int64
|
||||||
TEXT runtime·cputicks(SB),NOSPLIT,$0-8
|
TEXT runtime·cputicks(SB),NOSPLIT,$0-8
|
||||||
|
|
|
||||||
|
|
@ -652,7 +652,7 @@ retry:
|
||||||
// Increment wbBuf.next position.
|
// Increment wbBuf.next position.
|
||||||
ADDV R25, R2
|
ADDV R25, R2
|
||||||
// Is the buffer full?
|
// Is the buffer full?
|
||||||
SGTU R2, R23, R23
|
SGTU R2, R23, R23
|
||||||
BNE R23, flush
|
BNE R23, flush
|
||||||
// Commit to the larger buffer.
|
// Commit to the larger buffer.
|
||||||
MOVV R2, (p_wbBuf+wbBuf_next)(R1)
|
MOVV R2, (p_wbBuf+wbBuf_next)(R1)
|
||||||
|
|
|
||||||
|
|
@ -106,7 +106,7 @@ lt64gt8:
|
||||||
ADD $32, TGT
|
ADD $32, TGT
|
||||||
|
|
||||||
lt32gt8:
|
lt32gt8:
|
||||||
// At this point >= 8 and < 32
|
// At this point >= 8 and < 32
|
||||||
// Move 16 bytes if possible
|
// Move 16 bytes if possible
|
||||||
CMP DWORDS, $2
|
CMP DWORDS, $2
|
||||||
BLT lt16
|
BLT lt16
|
||||||
|
|
|
||||||
|
|
@ -279,7 +279,7 @@ TEXT runtime·sigtramp(SB),NOSPLIT|TOPFRAME|NOFRAME,$0
|
||||||
|
|
||||||
ADJSP $-24
|
ADJSP $-24
|
||||||
|
|
||||||
POP_REGS_HOST_TO_ABI0()
|
POP_REGS_HOST_TO_ABI0()
|
||||||
RET
|
RET
|
||||||
|
|
||||||
// Called using C ABI.
|
// Called using C ABI.
|
||||||
|
|
|
||||||
|
|
@ -353,7 +353,7 @@ TEXT runtime·sigtramp(SB),NOSPLIT|TOPFRAME|NOFRAME,$0
|
||||||
|
|
||||||
ADJSP $-24
|
ADJSP $-24
|
||||||
|
|
||||||
POP_REGS_HOST_TO_ABI0()
|
POP_REGS_HOST_TO_ABI0()
|
||||||
RET
|
RET
|
||||||
|
|
||||||
// Called using C ABI.
|
// Called using C ABI.
|
||||||
|
|
|
||||||
|
|
@ -652,8 +652,8 @@ TEXT runtime·cgoSigtramp(SB),NOSPLIT|NOFRAME,$0
|
||||||
BEQ sigtramp
|
BEQ sigtramp
|
||||||
|
|
||||||
// Inspect the g in TLS without clobbering R30/R31 via runtime.load_g.
|
// Inspect the g in TLS without clobbering R30/R31 via runtime.load_g.
|
||||||
MOVD runtime·tls_g(SB), R9
|
MOVD runtime·tls_g(SB), R9
|
||||||
MOVD 0(R9), R9
|
MOVD 0(R9), R9
|
||||||
|
|
||||||
// Figure out if we are currently in a cgo call.
|
// Figure out if we are currently in a cgo call.
|
||||||
// If not, just do usual sigtramp.
|
// If not, just do usual sigtramp.
|
||||||
|
|
|
||||||
|
|
@ -324,7 +324,7 @@ TEXT runtime·sigtramp(SB),NOSPLIT|TOPFRAME|NOFRAME,$0
|
||||||
|
|
||||||
ADJSP $-24
|
ADJSP $-24
|
||||||
|
|
||||||
POP_REGS_HOST_TO_ABI0()
|
POP_REGS_HOST_TO_ABI0()
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TEXT runtime·mmap(SB),NOSPLIT,$0
|
TEXT runtime·mmap(SB),NOSPLIT,$0
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@ TEXT runtime·lastcontinuetramp(SB),NOSPLIT,$0-0
|
||||||
JMP sigtramp<>(SB)
|
JMP sigtramp<>(SB)
|
||||||
|
|
||||||
TEXT runtime·callbackasm1(SB),NOSPLIT,$0
|
TEXT runtime·callbackasm1(SB),NOSPLIT,$0
|
||||||
MOVL 0(SP), AX // will use to find our callback context
|
MOVL 0(SP), AX // will use to find our callback context
|
||||||
|
|
||||||
// remove return address from stack, we are not returning to callbackasm, but to its caller.
|
// remove return address from stack, we are not returning to callbackasm, but to its caller.
|
||||||
ADDL $4, SP
|
ADDL $4, SP
|
||||||
|
|
|
||||||
|
|
@ -151,15 +151,15 @@ TEXT runtime·callbackasm1(SB),NOSPLIT|NOFRAME,$0
|
||||||
// In any case, even if function has 0,1,2,3,4 args, there is reserved
|
// In any case, even if function has 0,1,2,3,4 args, there is reserved
|
||||||
// but uninitialized "shadow space" for the first 4 args.
|
// but uninitialized "shadow space" for the first 4 args.
|
||||||
// The values are in registers.
|
// The values are in registers.
|
||||||
MOVQ CX, (16+0)(SP)
|
MOVQ CX, (16+0)(SP)
|
||||||
MOVQ DX, (16+8)(SP)
|
MOVQ DX, (16+8)(SP)
|
||||||
MOVQ R8, (16+16)(SP)
|
MOVQ R8, (16+16)(SP)
|
||||||
MOVQ R9, (16+24)(SP)
|
MOVQ R9, (16+24)(SP)
|
||||||
// R8 = address of args vector
|
// R8 = address of args vector
|
||||||
LEAQ (16+0)(SP), R8
|
LEAQ (16+0)(SP), R8
|
||||||
|
|
||||||
// remove return address from stack, we are not returning to callbackasm, but to its caller.
|
// remove return address from stack, we are not returning to callbackasm, but to its caller.
|
||||||
MOVQ 0(SP), AX
|
MOVQ 0(SP), AX
|
||||||
ADDQ $8, SP
|
ADDQ $8, SP
|
||||||
|
|
||||||
// determine index into runtime·cbs table
|
// determine index into runtime·cbs table
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue