diff options
author | Cherry Zhang <cherryyz@google.com> | 2019-10-20 17:25:02 -0400 |
---|---|---|
committer | Cherry Zhang <cherryyz@google.com> | 2019-11-05 02:49:48 +0000 |
commit | 2ff746d7dc3ce5ce7034bfcc3af16b7b8eab7413 (patch) | |
tree | 042cfca423a4f83993f526eb7dd7ce11c29c4da1 /src/runtime/preempt_386.s | |
parent | 376c4ceab76591838623086ce387230cab5d0d5d (diff) | |
download | go-2ff746d7dc3ce5ce7034bfcc3af16b7b8eab7413.tar.gz go-2ff746d7dc3ce5ce7034bfcc3af16b7b8eab7413.zip |
runtime: add async preemption support on ARM
This CL adds support of call injection and async preemption on
ARM.
Injected call, like sigpanic, has special frame layout. Teach
traceback to handle it.
Change-Id: I887e90134fbf8a676b73c26321c50b3c4762dba4
Reviewed-on: https://go-review.googlesource.com/c/go/+/202338
Run-TryBot: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Austin Clements <austin@google.com>
Diffstat (limited to 'src/runtime/preempt_386.s')
-rw-r--r-- | src/runtime/preempt_386.s | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/preempt_386.s b/src/runtime/preempt_386.s index a7961e02ce..a00ac8f385 100644 --- a/src/runtime/preempt_386.s +++ b/src/runtime/preempt_386.s @@ -26,7 +26,7 @@ TEXT ·asyncPreempt(SB),NOSPLIT|NOFRAME,$0-0 MOVUPS X5, 216(SP) MOVUPS X6, 232(SP) MOVUPS X7, 248(SP) - nosse: +nosse: CALL ·asyncPreempt2(SB) CMPB internal∕cpu·X86+const_offsetX86HasSSE2(SB), $1 JNE nosse2 @@ -38,7 +38,7 @@ TEXT ·asyncPreempt(SB),NOSPLIT|NOFRAME,$0-0 MOVUPS 168(SP), X2 MOVUPS 152(SP), X1 MOVUPS 136(SP), X0 - nosse2: +nosse2: FRSTOR 28(SP) MOVL 24(SP), DI MOVL 20(SP), SI |