• Austin Clements's avatar
    runtime: consolidate all trigger-derived computations · ee175afa
    Austin Clements authored
    Currently, the computations that derive controls from the GC trigger
    are spread across several parts of the mark termination code.
    Consolidate computing the absolute trigger, the heap goal, and sweep
    pacing into a single function called at the end of mark termination.
    
    Unlike the code being consolidated, this has to be more careful about
    negative gcpercent. Many of the consolidated code paths simply didn't
    execute if GC was off.
    
    This is a step toward being able to change the GC trigger ratio in the
    middle of concurrent sweeping and marking. For this commit, we try to
    stick close to the original structure of the code that's being
    consolidated, so it doesn't yet support mid-cycle adjustments.
    
    For #19076.
    
    Change-Id: Ic5335be04b96ad20e70d53d67913a86bd6b31456
    Reviewed-on: https://go-review.googlesource.com/39831
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarRick Hudson <rlh@golang.org>
    ee175afa
mgc.go 70.7 KB