go/src/reflect
Russ Cox 18172c42ff runtime: remove type-punning for Type.gc[0], gc[1]
Depending on flags&KindGCProg,
gc[0] and gc[1] are either pointers or inlined bitmap bits.
That's not compatible with a precise garbage collector:
it needs to be always pointers or never pointers.

Change the inlined bitmap case to store a pointer to an
out-of-line bitmap in gc[0]. The out-of-line bitmaps are
dedup'ed, so that for example all pointer types share the
same out-of-line bitmap.

Fixes #8864.

LGTM=r
R=golang-codereviews, dvyukov, r
CC=golang-codereviews, iant, khr, rlh
https://golang.org/cl/155820043
2014-10-07 11:06:51 -04:00
..
all_test.go reflect: fix IsValid vs Kind mismatch after Elem of nil interface 2014-10-01 16:51:32 -04:00
asm_386.s runtime: look up arg stackmap for makeFuncStub/methodValueStub during traceback 2014-09-12 07:29:19 -04:00
asm_amd64.s runtime: look up arg stackmap for makeFuncStub/methodValueStub during traceback 2014-09-12 07:29:19 -04:00
asm_amd64p32.s runtime: look up arg stackmap for makeFuncStub/methodValueStub during traceback 2014-09-12 07:29:19 -04:00
asm_arm.s runtime: look up arg stackmap for makeFuncStub/methodValueStub during traceback 2014-09-12 07:29:19 -04:00
deepequal.go
example_test.go
export_test.go
makefunc.go runtime: look up arg stackmap for makeFuncStub/methodValueStub during traceback 2014-09-12 07:29:19 -04:00
set_test.go
tostring_test.go
type.go runtime: remove type-punning for Type.gc[0], gc[1] 2014-10-07 11:06:51 -04:00
value.go reflect: fix IsValid vs Kind mismatch after Elem of nil interface 2014-10-01 16:51:32 -04:00