aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/iface.go
diff options
context:
space:
mode:
authorDavid Crawshaw <crawshaw@golang.org>2016-03-31 10:02:10 -0400
committerDavid Crawshaw <crawshaw@golang.org>2016-04-13 20:48:26 +0000
commitf120936dfffa3ac935730699587e6957f2d5ea61 (patch)
treec7415fc534e0ef9bbf4ac4afb1a562b6255adadc /src/runtime/iface.go
parent73e2ad20220050f88b1ea79bf5a2e4c4fbee0533 (diff)
downloadgo-f120936dfffa3ac935730699587e6957f2d5ea61.tar.gz
go-f120936dfffa3ac935730699587e6957f2d5ea61.zip
cmd/compile, etc: use name for type pkgPath
By replacing the *string used to represent pkgPath with a reflect.name everywhere, the embedded *string for package paths inside the reflect.name can be replaced by an offset, nameOff. This reduces the number of pointers in the type information. This also moves all reflect.name types into the same section, making it possible to use nameOff more widely in later CLs. No significant binary size change for normal binaries, but: linux/amd64 PIE: cmd/go: -440KB (3.7%) jujud: -2.6MB (3.2%) For #6853. Change-Id: I3890b132a784a1090b1b72b32febfe0bea77eaee Reviewed-on: https://go-review.googlesource.com/21395 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/runtime/iface.go')
-rw-r--r--src/runtime/iface.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/runtime/iface.go b/src/runtime/iface.go
index 700bdc2f48..84f0ee8f0c 100644
--- a/src/runtime/iface.go
+++ b/src/runtime/iface.go
@@ -101,15 +101,15 @@ func additab(m *itab, locked, canfail bool) {
iname := i.name.name()
itype := i._type
ipkg := i.name.pkgPath()
- if ipkg == nil {
- ipkg = inter.pkgpath
+ if ipkg == "" {
+ ipkg = inter.pkgpath.name()
}
for ; j < nt; j++ {
t := &xmhdr[j]
if typ.typeOff(t.mtyp) == itype && t.name.name() == iname {
pkgPath := t.name.pkgPath()
- if pkgPath == nil {
- pkgPath = x.pkgpath
+ if pkgPath == "" {
+ pkgPath = x.pkgpath.name()
}
if t.name.isExported() || pkgPath == ipkg {
if m != nil {