• Carl Shapiro's avatar
    cmd/cc, cmd/gc, runtime: Uniquely encode iface and eface pointers in the pointer map. · abc516e4
    Carl Shapiro authored
    Prior to this change, pointer maps encoded the disposition of
    a word using a single bit.  A zero signaled a non-pointer
    value and a one signaled a pointer value.  Interface values,
    which are a effectively a union type, were conservatively
    labeled as a pointer.
    
    This change widens the logical element size of the pointer map
    to two bits per word.  As before, zero signals a non-pointer
    value and one signals a pointer value.  Additionally, a two
    signals an iface pointer and a three signals an eface pointer.
    
    Following other changes to the runtime, values two and three
    will allow a type information to drive interpretation of the
    subsequent word so only those interface values containing a
    pointer value will be scanned.
    
    R=golang-dev, rsc
    CC=golang-dev
    https://golang.org/cl/12689046
    abc516e4
Name
Last commit
Last update
..
Makefile Loading commit data...
acid.c Loading commit data...
bits.c Loading commit data...
bv.c Loading commit data...
cc.h Loading commit data...
cc.y Loading commit data...
com.c Loading commit data...
com64.c Loading commit data...
dcl.c Loading commit data...
doc.go Loading commit data...
dpchk.c Loading commit data...
funct.c Loading commit data...
godefs.c Loading commit data...
lex.c Loading commit data...
lexbody Loading commit data...
mac.c Loading commit data...
macbody Loading commit data...
omachcap.c Loading commit data...
pgen.c Loading commit data...
pswt.c Loading commit data...
scon.c Loading commit data...
sub.c Loading commit data...
y.tab.c Loading commit data...
y.tab.h Loading commit data...