diff options
| author | Russ Cox <rsc@golang.org> | 2014-08-06 16:22:52 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2014-08-06 16:22:52 -0400 |
| commit | f098a29630c48543df6c476cfa574ab013cfaaa6 (patch) | |
| tree | 69b462ed8fb0d6ffa0c528f788e933c8e7744ae7 /src/pkg/runtime/runtime.h | |
| parent | 2185dbcd8554ef728df06c30ef83e4c61e8c17d8 (diff) | |
| download | go-f098a29630c48543df6c476cfa574ab013cfaaa6.tar.xz | |
runtime: use better hash for non-empty interface
The implementation 'return 0' results in too many collisions.
LGTM=khr
R=golang-codereviews, adonovan, khr
CC=golang-codereviews, iant, khr, r
https://golang.org/cl/125720044
Diffstat (limited to 'src/pkg/runtime/runtime.h')
| -rw-r--r-- | src/pkg/runtime/runtime.h | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/pkg/runtime/runtime.h b/src/pkg/runtime/runtime.h index e6354d7e9c..1d1618b0d6 100644 --- a/src/pkg/runtime/runtime.h +++ b/src/pkg/runtime/runtime.h @@ -651,19 +651,19 @@ enum { }; void runtime·hashinit(void); -uintptr runtime·memhash(void*, uintptr, uintptr); -uintptr runtime·nohash(void*, uintptr, uintptr); -uintptr runtime·strhash(void*, uintptr, uintptr); -uintptr runtime·interhash(void*, uintptr, uintptr); -uintptr runtime·nilinterhash(void*, uintptr, uintptr); -uintptr runtime·f32hash(void*, uintptr, uintptr); -uintptr runtime·f64hash(void*, uintptr, uintptr); -uintptr runtime·c64hash(void*, uintptr, uintptr); -uintptr runtime·c128hash(void*, uintptr, uintptr); -uintptr runtime·aeshash(void*, uintptr, uintptr); -uintptr runtime·aeshash32(void*, uintptr, uintptr); -uintptr runtime·aeshash64(void*, uintptr, uintptr); -uintptr runtime·aeshashstr(void*, uintptr, uintptr); +void runtime·memhash(void*, uintptr, uintptr, uintptr); +void runtime·nohash(void*, uintptr, uintptr, uintptr); +void runtime·strhash(void*, uintptr, uintptr, uintptr); +void runtime·interhash(void*, uintptr, uintptr, uintptr); +void runtime·nilinterhash(void*, uintptr, uintptr, uintptr); +void runtime·f32hash(void*, uintptr, uintptr, uintptr); +void runtime·f64hash(void*, uintptr, uintptr, uintptr); +void runtime·c64hash(void*, uintptr, uintptr, uintptr); +void runtime·c128hash(void*, uintptr, uintptr, uintptr); +void runtime·aeshash(void*, uintptr, uintptr, uintptr); +void runtime·aeshash32(void*, uintptr, uintptr, uintptr); +void runtime·aeshash64(void*, uintptr, uintptr, uintptr); +void runtime·aeshashstr(void*, uintptr, uintptr, uintptr); void runtime·memequal(bool*, uintptr, void*, void*); void runtime·noequal(bool*, uintptr, void*, void*); @@ -876,8 +876,6 @@ void runtime·mallocinit(void); void runtime·chaninit(void); bool runtime·ifaceeq_c(Iface, Iface); bool runtime·efaceeq_c(Eface, Eface); -uintptr runtime·ifacehash(Iface, uintptr); -uintptr runtime·efacehash(Eface, uintptr); void* runtime·malloc(uintptr size); void runtime·runpanic(Panic*); uintptr runtime·getcallersp(void*); |
