• Russ Cox's avatar
    runtime: remove type-punning for Type.gc[0], gc[1] · 18172c42
    Russ Cox authored
    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
    18172c42
Name
Last commit
Last update
..
all_test.go Loading commit data...
asm_386.s Loading commit data...
asm_amd64.s Loading commit data...
asm_amd64p32.s Loading commit data...
asm_arm.s Loading commit data...
deepequal.go Loading commit data...
example_test.go Loading commit data...
export_test.go Loading commit data...
makefunc.go Loading commit data...
set_test.go Loading commit data...
tostring_test.go Loading commit data...
type.go Loading commit data...
value.go Loading commit data...