]> Cypherpunks repositories - gostls13.git/commit
runtime: use return for async preemption resumption on arm64
authorJoel Sing <joel@sing.id.au>
Wed, 5 Feb 2025 13:38:51 +0000 (00:38 +1100)
committerJoel Sing <joel@sing.id.au>
Sat, 15 Feb 2025 03:36:58 +0000 (19:36 -0800)
commit77343fa646c5d2a01fb3cbeabda1b3ff008c3b03
treebdcbcc9f55b0a27e6f164a994ef16dc0fab3e911
parent67903012f71b6ceff7a25758c33e77c47710fbf7
runtime: use return for async preemption resumption on arm64

Use return with register for async preemption resumption on arm64.
This has the same behaviour as the current use of JMP, however
is permitted when Branch Target Identification is being enforced,
while a JMP with register is considered an indirect call and
requires a `BTI J` marker at the resumption address.

Updates #66054

Change-Id: I135ac577073467bedd9efd8df15b76c97dc08767
Reviewed-on: https://go-review.googlesource.com/c/go/+/646782
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
src/runtime/mkpreempt.go
src/runtime/preempt_arm64.s