]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: remove rtype.ptrToThis
authorDavid Crawshaw <crawshaw@golang.org>
Thu, 18 Feb 2016 11:31:57 +0000 (06:31 -0500)
committerDavid Crawshaw <crawshaw@golang.org>
Thu, 25 Feb 2016 17:47:42 +0000 (17:47 +0000)
commit30f93f09944c54147bec9e5c39631f17addd94c7
tree22544ac7ce749633ab3a8bca450008af47d907a1
parent5abd327d0069af3abc353ba8ee77dd7d1c0c3e75
cmd/compile: remove rtype.ptrToThis

Simplifies some code as ptrToThis was unreliable under dynamic
linking. Now the same type lookup is used regardless of execution
mode.

A synthetic relocation, R_USETYPE, is introduced to make sure the
linker includes *T on use of T, if *T is carrying methods.

Changes the heap dump format. Anything reading the format needs to
look at the last bool of a type of an interface value to determine
if the type should be the pointer-to type.

Reduces binary size of cmd/go by 0.2%.
For #6853.

Change-Id: I79fcb19a97402bdb0193f3c7f6d94ddf061ee7b2
Reviewed-on: https://go-review.googlesource.com/19695
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: David Crawshaw <crawshaw@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/cmd/compile/internal/gc/reflect.go
src/cmd/internal/obj/link.go
src/cmd/link/internal/ld/decodesym.go
src/reflect/type.go
src/runtime/heapdump.go
src/runtime/type.go