shouldtriggergc is slightly expensive due to the call overhead
and the use of an atomic. This CL reduces the number of time
one checks if a GC should be done from one at each allocation
to once when a span is allocated. Since shouldtriggergc is an
important abstraction simply hand inlining it, along with its
atomic instruction would lose the abstraction.
Change-Id: Ia3210655b4b3d433f77064a21ecb54e4d9d435f7
Reviewed-on: https://go-review.googlesource.com/9403
Reviewed-by: Austin Clements <austin@google.com>
}
}
- if shouldtriggergc() {
+ if shouldhelpgc && shouldtriggergc() {
startGC(gcBackgroundMode)
} else if gcBlackenEnabled != 0 {
// Assist garbage collector. We delay this until the