• 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
..
data.c Loading commit data...
decodesym.c Loading commit data...
doc.go Loading commit data...
dwarf.c Loading commit data...
dwarf.h Loading commit data...
dwarf_defs.h Loading commit data...
elf.c Loading commit data...
elf.h Loading commit data...
go.c Loading commit data...
ldelf.c Loading commit data...
ldmacho.c Loading commit data...
ldpe.c Loading commit data...
lib.c Loading commit data...
lib.h Loading commit data...
macho.c Loading commit data...
macho.h Loading commit data...
pcln.c Loading commit data...
pe.c Loading commit data...
pe.h Loading commit data...
pobj.c Loading commit data...
symtab.c Loading commit data...
textflag.h Loading commit data...