mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
liblink, cmd/ld, runtime: remove stackguard1
Now that we've removed all the C code in runtime and the C compilers, there is no need to have a separate stackguard field to check for C code on Go stack. Remove field g.stackguard1 and rename g.stackguard0 to g.stackguard. Adjust liblink and cmd/ld as necessary. Change-Id: I54e75db5a93d783e86af5ff1a6cd497d669d8d33 Reviewed-on: https://go-review.googlesource.com/2144 Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
3b76b017ca
commit
ab0535ae3f
27 changed files with 72 additions and 192 deletions
|
|
@ -154,14 +154,10 @@ type stack struct {
|
|||
type g struct {
|
||||
// Stack parameters.
|
||||
// stack describes the actual stack memory: [stack.lo, stack.hi).
|
||||
// stackguard0 is the stack pointer compared in the Go stack growth prologue.
|
||||
// stackguard is the stack pointer compared in the Go stack growth prologue.
|
||||
// It is stack.lo+StackGuard normally, but can be StackPreempt to trigger a preemption.
|
||||
// stackguard1 is the stack pointer compared in the C stack growth prologue.
|
||||
// It is stack.lo+StackGuard on g0 and gsignal stacks.
|
||||
// It is ~0 on other goroutine stacks, to trigger a call to morestackc (and crash).
|
||||
stack stack // offset known to runtime/cgo
|
||||
stackguard0 uintptr // offset known to liblink
|
||||
stackguard1 uintptr // offset known to liblink
|
||||
stack stack // offset known to runtime/cgo
|
||||
stackguard uintptr // offset known to liblink
|
||||
|
||||
_panic *_panic // innermost panic - offset known to liblink
|
||||
_defer *_defer // innermost defer
|
||||
|
|
@ -175,7 +171,7 @@ type g struct {
|
|||
waitreason string // if status==gwaiting
|
||||
schedlink *g
|
||||
issystem bool // do not output in stack dump, ignore in deadlock detector
|
||||
preempt bool // preemption signal, duplicates stackguard0 = stackpreempt
|
||||
preempt bool // preemption signal, duplicates stackguard = stackpreempt
|
||||
paniconfault bool // panic (instead of crash) on unexpected fault address
|
||||
preemptscan bool // preempted g does scan for gc
|
||||
gcworkdone bool // debug: cleared at begining of gc work phase cycle, set by gcphasework, tested at end of cycle
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue