1
0
mirror of https://github.com/golang/go synced 2024-10-04 13:31:21 -06:00
go/src/reflect
Russ Cox 6d8a147bef runtime: use 1-bit pointer bitmaps in type representation
The type information in reflect.Type and the GC programs is now
1 bit per word, down from 2 bits.

The in-memory unrolled type bitmap representation are now
1 bit per word, down from 4 bits.

The conversion from the unrolled (now 1-bit) bitmap to the
heap bitmap (still 4-bit) is not optimized. A followup CL will
work on that, after the heap bitmap has been converted to 2-bit.

The typeDead optimization, in which a special value denotes
that there are no more pointers anywhere in the object, is lost
in this CL. A followup CL will bring it back in the final form of
heapBitsSetType.

Change-Id: If61e67950c16a293b0b516a6fd9a1c755b6d5549
Reviewed-on: https://go-review.googlesource.com/9702
Reviewed-by: Austin Clements <austin@google.com>
2015-05-11 14:43:33 +00:00
..
all_test.go runtime: use 1-bit pointer bitmaps in type representation 2015-05-11 14:43:33 +00:00
asm_386.s
asm_amd64.s
asm_amd64p32.s
asm_arm64.s reflect: add support for GOARCH=arm64 2015-03-16 18:46:27 +00:00
asm_arm.s
asm_ppc64x.s all: power64 is now ppc64 2014-12-05 19:13:20 -05:00
deepequal.go
example_test.go reflect: document reflect.TypeOf((*Foo)(nil)).Elem() idiom 2015-04-14 17:19:36 +00:00
export_test.go runtime: use 1-bit pointer bitmaps in type representation 2015-05-11 14:43:33 +00:00
makefunc.go reflect: cache call frames 2015-01-28 08:40:26 +00:00
set_test.go
tostring_test.go
type.go runtime: use 1-bit pointer bitmaps in type representation 2015-05-11 14:43:33 +00:00
value.go reflect: use arrayAt consistently 2015-04-21 17:29:25 +00:00