• Austin Clements's avatar
    runtime: eliminate write barriers from alloc/mark bitmaps · 42c12147
    Austin Clements authored
    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: 's avatarRick Hudson <rlh@golang.org>
    42c12147
mbitmap.go 61.7 KB