diff options
| author | Austin Clements <austin@google.com> | 2019-09-27 14:13:22 -0400 |
|---|---|---|
| committer | Austin Clements <austin@google.com> | 2019-10-25 23:25:32 +0000 |
| commit | 8c5861576a983684faac98c612c9c7e569974ffa (patch) | |
| tree | acaca58d2264cf3079b8ff561809dd1a31a2858c /src/runtime/runtime2.go | |
| parent | 1b79afe460c329c1db75456c3278600a4b451b41 (diff) | |
| download | go-8c5861576a983684faac98c612c9c7e569974ffa.tar.xz | |
runtime: remove g.gcscanvalid
Currently, gcscanvalid is used to resolve a race between attempts to
scan a stack. Now that there's a clear owner of the stack scan
operation, there's no longer any danger of racing or attempting to
scan a stack more than once, so this CL eliminates gcscanvalid.
I double-checked my reasoning by first adding a throw if gcscanvalid
was set in scanstack and verifying that all.bash still passed.
For #10958, #24543.
Fixes #24363.
Change-Id: I76794a5fcda325ed7cfc2b545e2a839b8b3bc713
Reviewed-on: https://go-review.googlesource.com/c/go/+/201139
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/runtime/runtime2.go')
| -rw-r--r-- | src/runtime/runtime2.go | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/runtime/runtime2.go b/src/runtime/runtime2.go index 7630888a3d..a146f47446 100644 --- a/src/runtime/runtime2.go +++ b/src/runtime/runtime2.go @@ -422,7 +422,6 @@ type g struct { preemptStop bool // transition to _Gpreempted on preemption; otherwise, just deschedule paniconfault bool // panic (instead of crash) on unexpected fault address gcscandone bool // g has scanned stack; protected by _Gscan bit in status - gcscanvalid bool // false at start of gc cycle, true if G has not run since last scan; TODO: remove? throwsplit bool // must not split stack raceignore int8 // ignore race detection events sysblocktraced bool // StartTrace has emitted EvGoInSyscall about this goroutine |
