diff options
author | Joel Sing <joel@sing.id.au> | 2020-10-27 23:10:13 +1100 |
---|---|---|
committer | Joel Sing <joel@sing.id.au> | 2020-10-28 18:11:26 +0000 |
commit | 76661d12e89971e3bf4caaae2c37b969ab654194 (patch) | |
tree | cfc6616feac352cb725e7e36711a273b23f7f318 /src/runtime/mkpreempt.go | |
parent | fc116b69e2004c159d0f2563c6e91ac75a79f872 (diff) | |
download | go-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.go | 6 |
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) |