]> Cypherpunks repositories - gostls13.git/commit
runtime: eliminate write barriers from alloc/mark bitmaps
authorAustin Clements <austin@google.com>
Fri, 24 Mar 2017 16:02:12 +0000 (12:02 -0400)
committerAustin Clements <austin@google.com>
Thu, 13 Apr 2017 18:20:42 +0000 (18:20 +0000)
commit42c121476217595d9eddbded70cfb6500eca8442
tree79e43d88d8ed73fc70fd7ed0722d894235acfb8e
parent9d1b2f888ef4b8c19630df6af18cabfc42d911a9
runtime: eliminate write barriers from alloc/mark bitmaps

This introduces a new type, *gcBits, to use for alloc/mark bitmap
allocations instead of *uint8. This type is marked go:notinheap, so
uses of it correctly eliminate write barriers. Since we now have a
type, this also extracts some common operations to methods both for
convenience and to avoid (*uint8) casts at most use sites.

For #19325.

Change-Id: Id51f734fb2e96b8b7715caa348c8dcd4aef0696a
Reviewed-on: https://go-review.googlesource.com/38580
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
src/runtime/mbitmap.go
src/runtime/mheap.go