diff options
Diffstat (limited to 'src/runtime/mgcwork.go')
| -rw-r--r-- | src/runtime/mgcwork.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/runtime/mgcwork.go b/src/runtime/mgcwork.go index 9c32ae8880..b7feb847b4 100644 --- a/src/runtime/mgcwork.go +++ b/src/runtime/mgcwork.go @@ -7,7 +7,7 @@ package runtime import "unsafe" const ( - _Debugwbufs = true // if true check wbufs consistency + _Debugwbufs = false // if true check wbufs consistency _WorkbufSize = 1 * 256 // in bytes - if small wbufs are passed to GC in a timely fashion. ) @@ -182,6 +182,13 @@ func (w *gcWork) balance() { } } +// empty returns true if w has no mark work available. +//go:nowritebarrier +func (w *gcWork) empty() bool { + wbuf := w.wbuf + return wbuf == 0 || wbuf.ptr().nobj == 0 +} + // Internally, the GC work pool is kept in arrays in work buffers. // The gcWork interface caches a work buffer until full (or empty) to // avoid contending on the global work buffer lists. |
