1
0
mirror of https://github.com/golang/go synced 2024-10-04 13:11:22 -06:00
go/src/reflect
Keith Randall fbc56cf050 runtime: hashmap: move overflow pointer to end of bucket
Pointers to zero-sized values may end up pointing to the next
object in memory, and possibly off the end of a span.  This
can cause memory leaks and/or confuse the garbage collector.

By putting the overflow pointer at the end of the bucket, we
make sure that pointers to any zero-sized keys or values don't
accidentally point to the next object in memory.

fixes #9384

Change-Id: I5d434df176984cb0210b4d0195dd106d6eb28f73
Reviewed-on: https://go-review.googlesource.com/1869
Reviewed-by: Russ Cox <rsc@golang.org>
2014-12-22 22:25:48 +00:00
..
all_test.go [dev.cc] all: merge default (8d42099cdc23) into dev.cc 2014-12-05 11:18:10 -05:00
asm_386.s
asm_amd64.s
asm_amd64p32.s
asm_arm.s
asm_ppc64x.s all: power64 is now ppc64 2014-12-05 19:13:20 -05:00
deepequal.go
example_test.go
export_test.go reflect: Fix reflect.funcLayout. The GC bitmap has two bits per 2014-12-01 07:52:09 -08:00
makefunc.go
set_test.go
tostring_test.go
type.go runtime: hashmap: move overflow pointer to end of bucket 2014-12-22 22:25:48 +00:00
value.go