aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/mgcmark.go
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2018-08-14 17:08:27 -0400
committerAustin Clements <austin@google.com>2018-10-02 20:35:23 +0000
commite25ef35254cc4372256d0c7f4521df3cf3d092bf (patch)
treea834b40f36eca0cd800cf4abeff7a5c0636a89c4 /src/runtime/mgcmark.go
parentd398dbdfc38838b63e39cd8ee2c9d30a09b5989f (diff)
downloadgo-e25ef35254cc4372256d0c7f4521df3cf3d092bf.tar.gz
go-e25ef35254cc4372256d0c7f4521df3cf3d092bf.zip
runtime: don't disable GC work caching during mark termination
Currently, we disable GC work caching during mark termination. This is no longer necessary with the new mark completion detection because 1. There's no way for any of the GC mark termination helpers to have any real work queued and, 2. Mark termination has to explicitly flush every P's buffers anyway in order to flush Ps that didn't run a GC mark termination helper. Hence, remove the code that disposes gcWork buffers during mark termination. Updates #26903. This is a follow-up to eliminating mark 2. Change-Id: I81f002ee25d5c10f42afd39767774636519007f9 Reviewed-on: https://go-review.googlesource.com/c/134320 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
Diffstat (limited to 'src/runtime/mgcmark.go')
-rw-r--r--src/runtime/mgcmark.go5
1 files changed, 0 insertions, 5 deletions
diff --git a/src/runtime/mgcmark.go b/src/runtime/mgcmark.go
index 6c641e3fbf..b86b2d012e 100644
--- a/src/runtime/mgcmark.go
+++ b/src/runtime/mgcmark.go
@@ -1149,11 +1149,6 @@ func shade(b uintptr) {
if obj, span, objIndex := findObject(b, 0, 0); obj != 0 {
gcw := &getg().m.p.ptr().gcw
greyobject(obj, 0, 0, span, gcw, objIndex)
- if gcphase == _GCmarktermination {
- // Ps aren't allowed to cache work during mark
- // termination.
- gcw.dispose()
- }
}
}