compiler, runtime, reflect: make type descriptors more like Go 1.8

Change the type descriptor structure to be more like the one in the Go
1.8 runtime.  Specifically we add the ptrdata field, rename the gc
field to gcdata and change the type to *byte, and rearrange a few of
the fields.  The structure is still not identical to the Go 1.8
structure--we don't use any of the tricks to reduce overall executable
size--but it is more similar.

For now we don't use the new ptrdata field, and the gcdata field is
still the old format rather than the new Go 1.8 ptrmask/gcprog format.

Change-Id: I809bbd182db6cdd94983d01a4d94ce946f98d633
Reviewed-by: Than McIntosh <>
7 files changed