mirror of
https://github.com/golang/go
synced 2024-11-23 13:50:06 -07:00
runtime: remove unused _GCsweep state
We don't use this state. _GCoff means we're sweeping in the background. This makes it clear in the next commit that _GCoff and only _GCoff means sweeping. Change-Id: I416324a829ba0be3794a6cf3cf1655114cb6e47c Reviewed-on: https://go-review.googlesource.com/11501 Reviewed-by: Rick Hudson <rlh@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
This commit is contained in:
parent
4e61c516f4
commit
f73b2fca84
@ -46,13 +46,12 @@
|
|||||||
// 11. GC preempts P's one-by-one taking partial wbufs and marks all unmarked yet
|
// 11. GC preempts P's one-by-one taking partial wbufs and marks all unmarked yet
|
||||||
// reachable objects.
|
// reachable objects.
|
||||||
// 12. When GC completes a full cycle over P's and discovers no new grey
|
// 12. When GC completes a full cycle over P's and discovers no new grey
|
||||||
// objects, (which means all reachable objects are marked) set phase = GCsweep.
|
// objects, (which means all reachable objects are marked) set phase = GCoff.
|
||||||
// 13. Wait for all P's to acknowledge phase change.
|
// 13. Wait for all P's to acknowledge phase change.
|
||||||
// 14. Now malloc allocates white (but sweeps spans before use).
|
// 14. Now malloc allocates white (but sweeps spans before use).
|
||||||
// Write barrier becomes nop.
|
// Write barrier becomes nop.
|
||||||
// 15. GC does background sweeping, see description below.
|
// 15. GC does background sweeping, see description below.
|
||||||
// 16. When sweeping is complete set phase to GCoff.
|
// 16. When sufficient allocation has taken place replay the sequence starting at 0 above,
|
||||||
// 17. When sufficient allocation has taken place replay the sequence starting at 0 above,
|
|
||||||
// see discussion of GC rate below.
|
// see discussion of GC rate below.
|
||||||
|
|
||||||
// Changing phases.
|
// Changing phases.
|
||||||
@ -241,12 +240,11 @@ var gcBlackenEnabled uint32
|
|||||||
var gcBlackenPromptly bool
|
var gcBlackenPromptly bool
|
||||||
|
|
||||||
const (
|
const (
|
||||||
_GCoff = iota // GC not running, write barrier disabled
|
_GCoff = iota // GC not running; sweeping in background, write barrier disabled
|
||||||
_GCstw // unused state
|
_GCstw // unused state
|
||||||
_GCscan // GC collecting roots into workbufs, write barrier ENABLED
|
_GCscan // GC collecting roots into workbufs, write barrier ENABLED
|
||||||
_GCmark // GC marking from workbufs, write barrier ENABLED
|
_GCmark // GC marking from workbufs, write barrier ENABLED
|
||||||
_GCmarktermination // GC mark termination: allocate black, P's help GC, write barrier ENABLED
|
_GCmarktermination // GC mark termination: allocate black, P's help GC, write barrier ENABLED
|
||||||
_GCsweep // GC mark completed; sweeping in background, write barrier disabled
|
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:nosplit
|
//go:nosplit
|
||||||
|
Loading…
Reference in New Issue
Block a user