// If the CPU limiter is enabled, intentionally don't
// assist to reduce the amount of CPU time spent in the GC.
if traced {
- traceGCMarkAssistDone()
+ trace := traceAcquire()
+ if trace.ok() {
+ trace.GCMarkAssistDone()
+ traceRelease(trace)
+ }
}
return
}
// We were able to steal all of the credit we
// needed.
if traced {
- traceGCMarkAssistDone()
+ trace := traceAcquire()
+ if trace.ok() {
+ trace.GCMarkAssistDone()
+ traceRelease(trace)
+ }
}
return
}
}
-
if traceEnabled() && !traced {
- traced = true
- traceGCMarkAssistStart()
+ trace := traceAcquire()
+ if trace.ok() {
+ traced = true
+ trace.GCMarkAssistStart()
+ traceRelease(trace)
+ }
}
// Perform assist work
// this G's assist debt, or the GC cycle is over.
}
if traced {
- traceGCMarkAssistDone()
+ trace := traceAcquire()
+ if trace.ok() {
+ trace.GCMarkAssistDone()
+ traceRelease(trace)
+ }
}
}