deductSweepCredit(spanBytes, 0)
traceDone := false
- if traceEnabled() {
- traceGCSweepStart()
+ trace := traceAcquire()
+ if trace.ok() {
+ trace.GCSweepStart()
+ traceRelease(trace)
}
// If we sweep spanBudget spans without finding any free
}
sweep.active.end(sl)
}
- if traceEnabled() {
- traceGCSweepDone()
+ trace = traceAcquire()
+ if trace.ok() {
+ trace.GCSweepDone()
traceDone = true
+ traceRelease(trace)
}
// We failed to get a span from the mcentral so get one from mheap.
// At this point s is a span that should have free slots.
havespan:
- if traceEnabled() && !traceDone {
- traceGCSweepDone()
+ if !traceDone {
+ trace := traceAcquire()
+ if trace.ok() {
+ trace.GCSweepDone()
+ traceRelease(trace)
+ }
}
n := int(s.nelems) - int(s.allocCount)
if n == 0 || s.freeindex == s.nelems || s.allocCount == s.nelems {