Commit f4bb25c9 authored by Martin Möhrmann's avatar Martin Möhrmann

runtime: rename map implementation and test files to use a common prefix

Rename all map implementation and test files to use "map"
as a file name prefix instead of "hashmap" for the implementation
and "map" for the test file names.

Change-Id: I7b317c1f7a660b95c6d1f1a185866f2839e69446
Reviewed-on: https://go-review.googlesource.com/90336
Run-TryBot: Martin Möhrmann <moehrmann@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarKeith Randall <khr@golang.org>
parent 549cb18a
...@@ -72,7 +72,7 @@ func siglt(a, b *Sig) bool { ...@@ -72,7 +72,7 @@ func siglt(a, b *Sig) bool {
// the given map type. This type is not visible to users - // the given map type. This type is not visible to users -
// we include only enough information to generate a correct GC // we include only enough information to generate a correct GC
// program for it. // program for it.
// Make sure this stays in sync with ../../../../runtime/hashmap.go! // Make sure this stays in sync with ../../../../runtime/map.go!
const ( const (
BUCKETSIZE = 8 BUCKETSIZE = 8
MAXKEYSIZE = 128 MAXKEYSIZE = 128
...@@ -156,7 +156,7 @@ func bmap(t *types.Type) *types.Type { ...@@ -156,7 +156,7 @@ func bmap(t *types.Type) *types.Type {
// buckets can be marked as having no pointers. // buckets can be marked as having no pointers.
// Arrange for the bucket to have no pointers by changing // Arrange for the bucket to have no pointers by changing
// the type of the overflow field to uintptr in this case. // the type of the overflow field to uintptr in this case.
// See comment on hmap.overflow in ../../../../runtime/hashmap.go. // See comment on hmap.overflow in ../../../../runtime/map.go.
otyp := types.NewPtr(bucket) otyp := types.NewPtr(bucket)
if !types.Haspointers(valtype) && !types.Haspointers(keytype) { if !types.Haspointers(valtype) && !types.Haspointers(keytype) {
otyp = types.Types[TUINTPTR] otyp = types.Types[TUINTPTR]
...@@ -226,7 +226,7 @@ func bmap(t *types.Type) *types.Type { ...@@ -226,7 +226,7 @@ func bmap(t *types.Type) *types.Type {
} }
// hmap builds a type representing a Hmap structure for the given map type. // hmap builds a type representing a Hmap structure for the given map type.
// Make sure this stays in sync with ../../../../runtime/hashmap.go. // Make sure this stays in sync with ../../../../runtime/map.go.
func hmap(t *types.Type) *types.Type { func hmap(t *types.Type) *types.Type {
if t.MapType().Hmap != nil { if t.MapType().Hmap != nil {
return t.MapType().Hmap return t.MapType().Hmap
...@@ -246,7 +246,7 @@ func hmap(t *types.Type) *types.Type { ...@@ -246,7 +246,7 @@ func hmap(t *types.Type) *types.Type {
// nevacuate uintptr // nevacuate uintptr
// extra unsafe.Pointer // *mapextra // extra unsafe.Pointer // *mapextra
// } // }
// must match ../../../../runtime/hashmap.go:hmap. // must match ../../../../runtime/map.go:hmap.
fields := []*types.Field{ fields := []*types.Field{
makefield("count", types.Types[TINT]), makefield("count", types.Types[TINT]),
makefield("flags", types.Types[TUINT8]), makefield("flags", types.Types[TUINT8]),
...@@ -276,7 +276,7 @@ func hmap(t *types.Type) *types.Type { ...@@ -276,7 +276,7 @@ func hmap(t *types.Type) *types.Type {
} }
// hiter builds a type representing an Hiter structure for the given map type. // hiter builds a type representing an Hiter structure for the given map type.
// Make sure this stays in sync with ../../../../runtime/hashmap.go. // Make sure this stays in sync with ../../../../runtime/map.go.
func hiter(t *types.Type) *types.Type { func hiter(t *types.Type) *types.Type {
if t.MapType().Hiter != nil { if t.MapType().Hiter != nil {
return t.MapType().Hiter return t.MapType().Hiter
...@@ -303,7 +303,7 @@ func hiter(t *types.Type) *types.Type { ...@@ -303,7 +303,7 @@ func hiter(t *types.Type) *types.Type {
// bucket uintptr // bucket uintptr
// checkBucket uintptr // checkBucket uintptr
// } // }
// must match ../../../../runtime/hashmap.go:hiter. // must match ../../../../runtime/map.go:hiter.
fields := []*types.Field{ fields := []*types.Field{
makefield("key", types.NewPtr(t.Key())), // Used in range.go for TMAP. makefield("key", types.NewPtr(t.Key())), // Used in range.go for TMAP.
makefield("val", types.NewPtr(t.Val())), // Used in range.go for TMAP. makefield("val", types.NewPtr(t.Val())), // Used in range.go for TMAP.
......
...@@ -804,7 +804,7 @@ opswitch: ...@@ -804,7 +804,7 @@ opswitch:
// a = *var // a = *var
a := n.List.First() a := n.List.First()
if w := t.Val().Width; w <= 1024 { // 1024 must match ../../../../runtime/hashmap.go:maxZero if w := t.Val().Width; w <= 1024 { // 1024 must match ../../../../runtime/map.go:maxZero
fn := mapfn(mapaccess2[fast], t) fn := mapfn(mapaccess2[fast], t)
r = mkcall1(fn, fn.Type.Results(), init, typename(t), r.Left, key) r = mkcall1(fn, fn.Type.Results(), init, typename(t), r.Left, key)
} else { } else {
...@@ -1178,7 +1178,7 @@ opswitch: ...@@ -1178,7 +1178,7 @@ opswitch:
key = nod(OADDR, key, nil) key = nod(OADDR, key, nil)
} }
if w := t.Val().Width; w <= 1024 { // 1024 must match ../../../../runtime/hashmap.go:maxZero if w := t.Val().Width; w <= 1024 { // 1024 must match ../../../../runtime/map.go:maxZero
n = mkcall1(mapfn(mapaccess1[fast], t), types.NewPtr(t.Val()), init, typename(t), map_, key) n = mkcall1(mapfn(mapaccess1[fast], t), types.NewPtr(t.Val()), init, typename(t), map_, key)
} else { } else {
z := zeroaddr(w) z := zeroaddr(w)
...@@ -2824,7 +2824,7 @@ var mapassign = mkmapnames("mapassign", "ptr") ...@@ -2824,7 +2824,7 @@ var mapassign = mkmapnames("mapassign", "ptr")
var mapdelete = mkmapnames("mapdelete", "") var mapdelete = mkmapnames("mapdelete", "")
func mapfast(t *types.Type) int { func mapfast(t *types.Type) int {
// Check ../../runtime/hashmap.go:maxValueSize before changing. // Check ../../runtime/map.go:maxValueSize before changing.
if t.Val().Width > 128 { if t.Val().Width > 128 {
return mapslow return mapslow
} }
......
...@@ -2154,7 +2154,7 @@ func needKeyUpdate(t *rtype) bool { ...@@ -2154,7 +2154,7 @@ func needKeyUpdate(t *rtype) bool {
} }
} }
// Make sure these routines stay in sync with ../../runtime/hashmap.go! // Make sure these routines stay in sync with ../../runtime/map.go!
// These types exist only for GC, so we only fill out GC relevant info. // These types exist only for GC, so we only fill out GC relevant info.
// Currently, that's just size and the GC program. We also fill in string // Currently, that's just size and the GC program. We also fill in string
// for possible debugging use. // for possible debugging use.
...@@ -2165,7 +2165,7 @@ const ( ...@@ -2165,7 +2165,7 @@ const (
) )
func bucketOf(ktyp, etyp *rtype) *rtype { func bucketOf(ktyp, etyp *rtype) *rtype {
// See comment on hmap.overflow in ../runtime/hashmap.go. // See comment on hmap.overflow in ../runtime/map.go.
var kind uint8 var kind uint8
if ktyp.kind&kindNoPointers != 0 && etyp.kind&kindNoPointers != 0 && if ktyp.kind&kindNoPointers != 0 && etyp.kind&kindNoPointers != 0 &&
ktyp.size <= maxKeySize && etyp.size <= maxValSize { ktyp.size <= maxKeySize && etyp.size <= maxValSize {
......
...@@ -620,7 +620,7 @@ func TestMapBuckets(t *testing.T) { ...@@ -620,7 +620,7 @@ func TestMapBuckets(t *testing.T) {
// have a nil bucket pointer due to starting with preallocated buckets // have a nil bucket pointer due to starting with preallocated buckets
// on the stack. Escaping maps start with a non-nil bucket pointer if // on the stack. Escaping maps start with a non-nil bucket pointer if
// hint size is above bucketCnt and thereby have more than one bucket. // hint size is above bucketCnt and thereby have more than one bucket.
// These tests depend on bucketCnt and loadFactor* in hashmap.go. // These tests depend on bucketCnt and loadFactor* in map.go.
t.Run("mapliteral", func(t *testing.T) { t.Run("mapliteral", func(t *testing.T) {
for _, tt := range mapBucketTests { for _, tt := range mapBucketTests {
localMap := map[int]int{} localMap := map[int]int{}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment