diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2018-02-02 00:16:43 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2018-02-02 00:16:43 +0000 |
commit | 38f08ec0bd9bd39c578c2e9283a9aa00dc6bda15 (patch) | |
tree | 13c1ddb95c4048060b536abd200b8e24d0b2d066 /libgo/go | |
parent | 2e30f1ee86b087497fb5178a23a09ea6e22b1af4 (diff) | |
download | gcc-38f08ec0bd9bd39c578c2e9283a9aa00dc6bda15.zip gcc-38f08ec0bd9bd39c578c2e9283a9aa00dc6bda15.tar.gz gcc-38f08ec0bd9bd39c578c2e9283a9aa00dc6bda15.tar.bz2 |
runtime: scan register backing store on ia64
On ia64, a separate stack is used for saving/restoring register frames,
occupying the other end of the stack mapping. This must also be scanned
for pointers into the heap.
Reviewed-on: https://go-review.googlesource.com/85276
From-SVN: r257323
Diffstat (limited to 'libgo/go')
-rw-r--r-- | libgo/go/runtime/runtime2.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libgo/go/runtime/runtime2.go b/libgo/go/runtime/runtime2.go index 543086d..0299d5a 100644 --- a/libgo/go/runtime/runtime2.go +++ b/libgo/go/runtime/runtime2.go @@ -409,11 +409,15 @@ type g struct { // gcnextsegment: unused // gcnextsp: current SP while executing a syscall // gcinitialsp: g0: top of stack; others: start of stack memory + // gcnextsp2: current secondary stack pointer (if present) + // gcinitialsp2: start of secondary stack (if present) gcstack uintptr gcstacksize uintptr gcnextsegment uintptr gcnextsp uintptr gcinitialsp unsafe.Pointer + gcnextsp2 uintptr + gcinitialsp2 unsafe.Pointer // gcregs holds the register values while executing a syscall. // This is set by getcontext and scanned by the garbage collector. |