• Russ Cox's avatar
    runtime: prep for type-specific algorithms · b9ccd077
    Russ Cox authored
    Equality on structs will require arbitrary code for type equality,
    so change algorithm in type data from uint8 to table pointer.
    In the process, trim top-level map structure from
    104/80 bytes (64-bit/32-bit) to 24/12.
    
    Equality on structs will require being able to call code generated
    by the Go compiler, and C code has no way to access Go return
    values, so change the hash and equal algorithm functions to take
    a pointer to a result instead of returning the result.
    
    R=ken
    CC=golang-dev
    https://golang.org/cl/5453043
    b9ccd077
type.go 28.2 KB