| // Copyright 2009 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| // Runtime type representation. |
| // Needs to be in sync with ../cmd/compile/internal/ld/decodesym.go:/^func.commonsize, |
| // ../cmd/compile/internal/gc/reflect.go:/^func.dcommontype and |
| // ../reflect/type.go:/^type.rtype. |
| ptrdata uintptr // size of memory prefix holding all pointers |
| // gcdata stores the GC type data for the garbage collector. |
| // If the KindGCProg bit is set in kind, gcdata is a GC program. |
| // Otherwise it is a ptrmask bitmap. See mbitmap.go for details. |
| type uncommontype struct { |
| type interfacetype struct { |
| bucket *_type // internal type representing a hash bucket |
| hmap *_type // internal type representing a hmap |
| keysize uint8 // size of key slot |
| indirectkey bool // store ptr to key instead of key itself |
| 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 |