diff options
Diffstat (limited to 'src/runtime/type.go')
| -rw-r--r-- | src/runtime/type.go | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/runtime/type.go b/src/runtime/type.go index 48df2a4382..45bdac8b91 100644 --- a/src/runtime/type.go +++ b/src/runtime/type.go @@ -20,17 +20,10 @@ type _type struct { fieldalign uint8 kind uint8 alg *typeAlg - // gc stores type info required for garbage collector. - // If (kind&KindGCProg)==0, then gc[0] points at sparse GC bitmap - // (no indirection), 4 bits per word. - // If (kind&KindGCProg)!=0, then gc[1] points to a compiler-generated - // read-only GC program; and gc[0] points to BSS space for sparse GC bitmap. - // For huge types (>maxGCMask), runtime unrolls the program directly into - // GC bitmap and gc[0] is not used. For moderately-sized types, runtime - // unrolls the program into gc[0] space on first use. The first byte of gc[0] - // (gc[0][0]) contains 'unroll' flag saying whether the program is already - // unrolled into gc[0] or not. - gc [2]uintptr + // 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. + gcdata *byte _string *string x *uncommontype ptrto *_type |
