mirror of
https://github.com/golang/go.git
synced 2026-01-29 07:02:05 +03:00
runtime: rename aeshashbody to runtime.aeshashbody
Currently this is a raw symbol name with no package component, which is confusing when seen in profilers or similar tools. This function does not follow a Go ABI, and thus should not have a Go function declaration. go vet requires declaration for standard assembly functions. CL 176100 removed the package name as part of making vet pass on package runtime, but simply making the function static via the <> suffix is sufficient, there is no need to shorten the symbol name. Change-Id: I6a6a636c6030f1c9a4b8bb330978733bb336b08e Reviewed-on: https://go-review.googlesource.com/c/go/+/738521 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Knyszek <mknyszek@google.com>
This commit is contained in:
@@ -954,7 +954,7 @@ TEXT runtime·memhash(SB),NOSPLIT,$0-16
|
||||
MOVL p+0(FP), AX // ptr to data
|
||||
MOVL s+8(FP), BX // size
|
||||
LEAL ret+12(FP), DX
|
||||
JMP aeshashbody<>(SB)
|
||||
JMP runtime·aeshashbody<>(SB)
|
||||
noaes:
|
||||
JMP runtime·memhashFallback(SB)
|
||||
|
||||
@@ -965,14 +965,14 @@ TEXT runtime·strhash(SB),NOSPLIT,$0-12
|
||||
MOVL 4(AX), BX // length of string
|
||||
MOVL (AX), AX // string data
|
||||
LEAL ret+8(FP), DX
|
||||
JMP aeshashbody<>(SB)
|
||||
JMP runtime·aeshashbody<>(SB)
|
||||
noaes:
|
||||
JMP runtime·strhashFallback(SB)
|
||||
|
||||
// AX: data
|
||||
// BX: length
|
||||
// DX: address to put return value
|
||||
TEXT aeshashbody<>(SB),NOSPLIT,$0-0
|
||||
TEXT runtime·aeshashbody<>(SB),NOSPLIT,$0-0
|
||||
MOVL h+4(FP), X0 // 32 bits of per-table hash seed
|
||||
PINSRW $4, BX, X0 // 16 bits of length
|
||||
PSHUFHW $0, X0, X0 // replace size with its low 2 bytes repeated 4 times
|
||||
|
||||
@@ -1286,7 +1286,7 @@ TEXT runtime·memhash<ABIInternal>(SB),NOSPLIT,$0-32
|
||||
// CX = size
|
||||
CMPB runtime·useAeshash(SB), $0
|
||||
JEQ noaes
|
||||
JMP aeshashbody<>(SB)
|
||||
JMP runtime·aeshashbody<>(SB)
|
||||
noaes:
|
||||
JMP runtime·memhashFallback<ABIInternal>(SB)
|
||||
|
||||
@@ -1298,7 +1298,7 @@ TEXT runtime·strhash<ABIInternal>(SB),NOSPLIT,$0-24
|
||||
JEQ noaes
|
||||
MOVQ 8(AX), CX // length of string
|
||||
MOVQ (AX), AX // string data
|
||||
JMP aeshashbody<>(SB)
|
||||
JMP runtime·aeshashbody<>(SB)
|
||||
noaes:
|
||||
JMP runtime·strhashFallback<ABIInternal>(SB)
|
||||
|
||||
@@ -1306,7 +1306,7 @@ noaes:
|
||||
// BX: hash seed
|
||||
// CX: length
|
||||
// At return: AX = return value
|
||||
TEXT aeshashbody<>(SB),NOSPLIT,$0-0
|
||||
TEXT runtime·aeshashbody<>(SB),NOSPLIT,$0-0
|
||||
// Fill an SSE register with our seeds.
|
||||
MOVQ BX, X0 // 64 bits of per-table hash seed
|
||||
PINSRW $4, CX, X0 // 16 bits of length
|
||||
|
||||
@@ -742,7 +742,7 @@ noaes:
|
||||
TEXT runtime·memhash<ABIInternal>(SB),NOSPLIT|NOFRAME,$0-32
|
||||
MOVB runtime·useAeshash(SB), R10
|
||||
CBZ R10, noaes
|
||||
B aeshashbody<>(SB)
|
||||
B runtime·aeshashbody<>(SB)
|
||||
noaes:
|
||||
B runtime·memhashFallback<ABIInternal>(SB)
|
||||
|
||||
@@ -751,7 +751,7 @@ TEXT runtime·strhash<ABIInternal>(SB),NOSPLIT|NOFRAME,$0-24
|
||||
MOVB runtime·useAeshash(SB), R10
|
||||
CBZ R10, noaes
|
||||
LDP (R0), (R0, R2) // string data / length
|
||||
B aeshashbody<>(SB)
|
||||
B runtime·aeshashbody<>(SB)
|
||||
noaes:
|
||||
B runtime·strhashFallback<ABIInternal>(SB)
|
||||
|
||||
@@ -759,7 +759,7 @@ noaes:
|
||||
// R1: seed data
|
||||
// R2: length
|
||||
// At return, R0 = return value
|
||||
TEXT aeshashbody<>(SB),NOSPLIT|NOFRAME,$0
|
||||
TEXT runtime·aeshashbody<>(SB),NOSPLIT|NOFRAME,$0
|
||||
VEOR V30.B16, V30.B16, V30.B16
|
||||
VMOV R1, V30.D[0]
|
||||
VMOV R2, V30.D[1] // load length into seed
|
||||
|
||||
Reference in New Issue
Block a user