• Austin Clements's avatar
    runtime: simplify bulkBarrierPreWrite · 3e214e56
    Austin Clements authored
    Currently, bulkBarrierPreWrite uses inheap to decide whether the
    destination is in the heap or whether to check for stack or global
    data. However, this isn't the best question to ask.
    
    Instead, get the span directly and query its state. This lets us
    directly determine whether this might be a global, or is stack memory,
    or is heap memory.
    
    At this point, inheap is no longer used in the hot path, so drop it
    from the must-be-inlined list and substitute spanOf.
    
    This will help in a circuitous way with #23862, since fixing that is
    going to push inheap very slightly over the inline-able threshold on a
    few platforms.
    
    Change-Id: I5360fc1181183598502409f12979899e1e4d45f7
    Reviewed-on: https://go-review.googlesource.com/95495
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
    3e214e56
inl_test.go 5.27 KB