runtime: fix stack switch check in walltime/nanotime on linux/arm

CL 98095 got the check wrong. We should be testing
'getg() == getg().m.curg', not 'getg().m == getg().m.curg'.

Change-Id: I32f6238b00409b67afa8efe732513d542aec5bc7
Reviewed-on: https://go-review.googlesource.com/98855
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Tobias Klauser 2018-03-06 14:30:26 +01:00 committed by Tobias Klauser
parent 85dcc709a8
commit 9745397e1d
1 changed files with 2 additions and 2 deletions

View File

@ -221,7 +221,7 @@ TEXT runtime·walltime(SB),NOSPLIT,$0-12
MOVW g_m(g), R1
MOVW m_curg(R1), R0
CMP R1, R0 // Only switch if on curg.
CMP g, R0 // Only switch if on curg.
B.NE noswitch
MOVW m_g0(R1), R0
@ -266,7 +266,7 @@ TEXT runtime·nanotime(SB),NOSPLIT,$0-8
MOVW g_m(g), R1
MOVW m_curg(R1), R0
CMP R1, R0 // Only switch if on curg.
CMP g, R0 // Only switch if on curg.
B.NE noswitch
MOVW m_g0(R1), R0