]> Cypherpunks repositories - gostls13.git/commit
runtime: use stp/ldp to save and restore all registers on arm64
authoreric fang <eric.fang@arm.com>
Wed, 19 Jan 2022 04:02:25 +0000 (04:02 +0000)
committerEric Fang <eric.fang@arm.com>
Thu, 3 Mar 2022 01:58:56 +0000 (01:58 +0000)
commit2e9facbdd44883221fc90b8057d0443d1a8109e9
tree7ba44f03695c4526d73b6ce37db13b1766690620
parent301fd8ac8b6cd93708ad536eb054e1b081982a9b
runtime: use stp/ldp to save and restore all registers on arm64

Async preemption needs to save and restore almost all of the registers,
currently this is done by ldr and str on arm64. We can do it with ldp
and stp as they are more efficient.

Change-Id: Ida5a6f0a8d825a56af607ba2c2cd91fdc2e8f67f
Reviewed-on: https://go-review.googlesource.com/c/go/+/379715
Reviewed-by: Cherry Mui <cherryyz@google.com>
Trust: Eric Fang <eric.fang@arm.com>
Run-TryBot: Eric Fang <eric.fang@arm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
src/runtime/mkpreempt.go
src/runtime/preempt_arm64.s