aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/type.go
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2014-12-12 13:45:19 -0800
committerKeith Randall <khr@golang.org>2014-12-15 21:43:49 +0000
commitdf1739c77d4eb4f700722b4eb70b6036df96a9b9 (patch)
tree4aacf736bac265bfb82a14010410ab7f426420fa /src/runtime/type.go
parent324f38a222cc48439a11a5545c85cb8614385987 (diff)
downloadgo-df1739c77d4eb4f700722b4eb70b6036df96a9b9.tar.xz
runtime: if key type is reflexive, don't call equal(k, k)
Most types are reflexive (k == k for all k of type t), so don't bother calling equal(k, k) when the key type is reflexive. Change-Id: Ia716b4198b8b298687843b94b878dbc5e8fc2c65 Reviewed-on: https://go-review.googlesource.com/1480 Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/runtime/type.go')
-rw-r--r--src/runtime/type.go1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/runtime/type.go b/src/runtime/type.go
index cbd5c9ebc2..cbf2b1b6af 100644
--- a/src/runtime/type.go
+++ b/src/runtime/type.go
@@ -73,6 +73,7 @@ type maptype struct {
valuesize uint8 // size of value slot
indirectvalue bool // store ptr to value instead of value itself
bucketsize uint16 // size of bucket
+ reflexivekey bool // true if k==k for all keys
}
type chantype struct {