]> Cypherpunks repositories - gostls13.git/commit
runtime: don't store evacuate bit as low bit of hashtable overflow pointer.
authorKeith Randall <khr@golang.org>
Tue, 17 Dec 2013 23:23:31 +0000 (15:23 -0800)
committerKeith Randall <khr@golang.org>
Tue, 17 Dec 2013 23:23:31 +0000 (15:23 -0800)
commit9aae6c1a8b61af33f766e9a735c04b6afa255160
tree3cf0e86f219ddc7894661919d04bc1d48c735025
parentab05a855c6d5122dfe996b6b36bd39ee85a30b10
runtime: don't store evacuate bit as low bit of hashtable overflow pointer.

Hash tables currently store an evacuated bit in the low bit
of the overflow pointer.  That's probably not sustainable in the
long term as GC wants correctly typed & aligned pointers.  It is
also a pain to move any of this code to Go in the current state.

This change moves the evacuated bit into the tophash entries.

Performance change is negligable.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/14412043
src/pkg/runtime/hashmap.c
src/pkg/runtime/hashmap_fast.c