diff options
Diffstat (limited to 'src/reflect/type.go')
-rw-r--r-- | src/reflect/type.go | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/reflect/type.go b/src/reflect/type.go index 99712495b6..6fd6894cf5 100644 --- a/src/reflect/type.go +++ b/src/reflect/type.go @@ -1628,10 +1628,6 @@ func bucketOf(ktyp, etyp *rtype) *rtype { for i := 0; i < int(bucketSize*unsafe.Sizeof(uint8(0))/ptrsize); i++ { gc.append(bitsScalar) } - gc.append(bitsPointer) // overflow - if runtime.GOARCH == "amd64p32" { - gc.append(bitsScalar) - } // keys for i := 0; i < bucketSize; i++ { gc.appendProg(ktyp) @@ -1640,6 +1636,11 @@ func bucketOf(ktyp, etyp *rtype) *rtype { for i := 0; i < bucketSize; i++ { gc.appendProg(etyp) } + // overflow + gc.append(bitsPointer) + if runtime.GOARCH == "amd64p32" { + gc.append(bitsScalar) + } b := new(rtype) b.size = gc.size |