]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: not use REGTMP in ZeroRange on ARM64
authorCherry Zhang <cherryyz@google.com>
Fri, 25 Oct 2019 04:50:00 +0000 (00:50 -0400)
committerCherry Zhang <cherryyz@google.com>
Tue, 5 Nov 2019 02:54:42 +0000 (02:54 +0000)
commit0f992b994813c3ebd6fdc3335d6b48becac8a6f5
tree62657346545a1899eb19e526054e9c8584fe0ce6
parent2ff746d7dc3ce5ce7034bfcc3af16b7b8eab7413
cmd/compile: not use REGTMP in ZeroRange on ARM64

For async preemption, we will be using REGTMP as a temporary
register in injected call on ARM64, which will clobber it. So any
code that uses REGTMP is not safe for async preemption.

For ZeroRange, which is inserted at the function entry where
there is no register live, we could just use a different register
and avoid REGTMP.

Change-Id: I3db763828df6846908c9843a9912597efb9efcdf
Reviewed-on: https://go-review.googlesource.com/c/go/+/203458
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
src/cmd/compile/internal/arm64/ggen.go
src/cmd/compile/internal/gc/go.go