]> Cypherpunks repositories - gostls13.git/commit
runtime: add async preemption support on S390X
authorCherry Zhang <cherryyz@google.com>
Wed, 30 Oct 2019 00:42:00 +0000 (20:42 -0400)
committerCherry Zhang <cherryyz@google.com>
Thu, 7 Nov 2019 20:45:45 +0000 (20:45 +0000)
commit933bf75edaf4e762f65e6738d5a9d71b6438b50f
tree130ee0037103ce98ee545cc7f19ede9fedad25e1
parent4751db93ef23c87c0fa2f06433555b7084f339bd
runtime: add async preemption support on S390X

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

Like ARM64, we need to clobber one register (REGTMP) for
returning from the injected call. Previous CLs have marked code
sequences that use REGTMP async-nonpreemtible.

Change-Id: I78adbc5fd70ca245da390f6266623385b45c9dfc
Reviewed-on: https://go-review.googlesource.com/c/go/+/204106
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/ssa/gen/S390XOps.go
src/runtime/mkpreempt.go
src/runtime/preempt_s390x.s
src/runtime/signal_linux_s390x.go