• Austin Clements's avatar
    runtime: allow GC drain whenever write barrier is enabled · f5e67e53
    Austin Clements authored
    Currently we hand-code a set of phases when draining is allowed.
    However, this set of phases is conservative. The critical invariant is
    simply that the write barrier must be enabled if we're draining.
    
    Shortly we're going to enable mutator assists during the scan phase,
    which means we may drain during the scan phase. In preparation, this
    commit generalizes these assertions to check the fundamental condition
    that the write barrier is enabled, rather than checking that we're in
    any particular phase.
    
    Change-Id: I0e1bec1ca823d4a697a0831ec4c50f5dd3f2a893
    Reviewed-on: https://go-review.googlesource.com/12673Reviewed-by: default avatarRuss Cox <rsc@golang.org>
    f5e67e53
mgcmark.go 30.5 KB