]> Cypherpunks repositories - gostls13.git/commit
runtime: add async preemption support on PPC64
authorCherry Zhang <cherryyz@google.com>
Mon, 28 Oct 2019 04:53:14 +0000 (00:53 -0400)
committerCherry Zhang <cherryyz@google.com>
Fri, 8 Nov 2019 16:44:48 +0000 (16:44 +0000)
commit374c2847f9c03da7365bfb78e5ef96a0cb837656
treed53e66576fc42b184a39be7569fe1bacdea70f85
parent7f574e476ac4a6e8c2719b9674ee7b3786bb8401
runtime: add async preemption support on PPC64

This CL adds support of call injection and async preemption on
PPC64.

For the injected call to return to the preempted PC, we have to
clobber either LR or CTR. For reasons mentioned in previous CLs,
we choose CTR. Previous CLs have marked code sequences that use
CTR async-nonpreemtible.

Change-Id: Ia642b5f06a890dd52476f45023b2a830c522eee0
Reviewed-on: https://go-review.googlesource.com/c/go/+/203824
Run-TryBot: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/ssa/gen/PPC64Ops.go
src/runtime/mkpreempt.go
src/runtime/preempt_ppc64x.s
src/runtime/signal_ppc64x.go