aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/mkpreempt.go
diff options
context:
space:
mode:
authorJoel Sing <joel@sing.id.au>2020-10-27 23:10:13 +1100
committerJoel Sing <joel@sing.id.au>2020-10-28 18:11:26 +0000
commit76661d12e89971e3bf4caaae2c37b969ab654194 (patch)
treecfc6616feac352cb725e7e36711a273b23f7f318 /src/runtime/mkpreempt.go
parentfc116b69e2004c159d0f2563c6e91ac75a79f872 (diff)
downloadgo-76661d12e89971e3bf4caaae2c37b969ab654194.tar.gz
go-76661d12e89971e3bf4caaae2c37b969ab654194.zip
runtime: remove new g register (X27) from preempt save/restore
The g register is now in X27 (previously X4, which collided with TP usage). Remove X27 from preempt save/restore. Change-Id: I9dd38ec3a8222fa0710757463769dbfac8ae7d20 Reviewed-on: https://go-review.googlesource.com/c/go/+/265517 Trust: Joel Sing <joel@sing.id.au> Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org>
Diffstat (limited to 'src/runtime/mkpreempt.go')
-rw-r--r--src/runtime/mkpreempt.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/runtime/mkpreempt.go b/src/runtime/mkpreempt.go
index 76237bc31b..286f81489a 100644
--- a/src/runtime/mkpreempt.go
+++ b/src/runtime/mkpreempt.go
@@ -495,12 +495,12 @@ func genPPC64() {
}
func genRISCV64() {
- // X0 (zero), X1 (LR), X2 (SP), X4 (g), X31 (TMP) are special.
+ // X0 (zero), X1 (LR), X2 (SP), X4 (TP), X27 (g), X31 (TMP) are special.
var l = layout{sp: "X2", stack: 8}
- // Add integer registers (X3, X5-X30).
+ // Add integer registers (X3, X5-X26, X28-30).
for i := 3; i < 31; i++ {
- if i == 4 {
+ if i == 4 || i == 27 {
continue
}
reg := fmt.Sprintf("X%d", i)