summaryrefslogtreecommitdiff
path: root/src/reflect
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-11-11 01:23:01 -0500
committerRuss Cox <rsc@golang.org>2014-11-11 01:23:01 -0500
commite4007cd213bb488118d17dc520218b96f935d9be (patch)
treeb35280c2283a26c5bcc9b98eee4f527bc1c07885 /src/reflect
parent3e160bec8fe1de46f8752d037c24000387759d08 (diff)
downloadgo-e4007cd213bb488118d17dc520218b96f935d9be.tar.gz
[dev.cc] reflect: interfaces contain only pointers
[This CL is part of the removal of C code from package runtime. See golang.org/s/dev.cc for an overview.] Adjustments for changes made in CL 169360043. This change is already present in the dev.garbage branch. LGTM=r R=r CC=austin, golang-codereviews, iant, khr https://codereview.appspot.com/167520044
Diffstat (limited to 'src/reflect')
-rw-r--r--src/reflect/type.go13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/reflect/type.go b/src/reflect/type.go
index 572e611fa..e05a3f9d1 100644
--- a/src/reflect/type.go
+++ b/src/reflect/type.go
@@ -1533,12 +1533,8 @@ func (gc *gcProg) appendProg(t *rtype) {
gc.appendProg(e)
}
case Interface:
- gc.appendWord(bitsMultiWord)
- if t.NumMethod() == 0 {
- gc.appendWord(bitsEface)
- } else {
- gc.appendWord(bitsIface)
- }
+ gc.appendWord(bitsPointer)
+ gc.appendWord(bitsPointer)
case Struct:
c := t.NumField()
for i := 0; i < c; i++ {
@@ -1592,9 +1588,8 @@ func (gc *gcProg) align(a uintptr) {
// These constants must stay in sync with ../runtime/mgc0.h.
const (
- bitsScalar = 1
- bitsPointer = 2
- bitsMultiWord = 3
+ bitsScalar = 1
+ bitsPointer = 2
bitsIface = 2
bitsEface = 3