summaryrefslogtreecommitdiff
path: root/src/pal/src
diff options
context:
space:
mode:
authorSteve MacLean <Steve.MacLean@microsoft.com>2019-07-18 11:37:37 -0400
committerSteve MacLean <Steve.MacLean@Microsoft.com>2019-07-18 15:04:13 -0400
commit404e72adc3e721ef67b62c26a26c3e0112e67ed3 (patch)
tree70c97516ffdd3d2330aa6f90ef0da966e54b7a35 /src/pal/src
parent89dbe8b65c9de8f7bb5dd993987f000f7e006c8f (diff)
downloadcoreclr-404e72adc3e721ef67b62c26a26c3e0112e67ed3.tar.gz
coreclr-404e72adc3e721ef67b62c26a26c3e0112e67ed3.tar.bz2
coreclr-404e72adc3e721ef67b62c26a26c3e0112e67ed3.zip
Arm64 restore d8-d15 in ThrowExceptionFromContextInternal (#25743)
Diffstat (limited to 'src/pal/src')
-rw-r--r--src/pal/src/arch/arm64/exceptionhelper.S12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/pal/src/arch/arm64/exceptionhelper.S b/src/pal/src/arch/arm64/exceptionhelper.S
index c4499fb93f..93c9af1d06 100644
--- a/src/pal/src/arch/arm64/exceptionhelper.S
+++ b/src/pal/src/arch/arm64/exceptionhelper.S
@@ -31,6 +31,18 @@ LEAF_ENTRY ThrowExceptionFromContextInternal, _TEXT
ldp x26,x27, [x0, #(CONTEXT_X26)]
ldp x28,fp, [x0, #(CONTEXT_X28)]
ldr lr, [x0, #(CONTEXT_Pc)]
+
+ // Restore the lower 64 bits of v8-v15
+ add x2, x0, CONTEXT_NEON_OFFSET
+ ldr d8, [x2, #(CONTEXT_V8 )]
+ ldr d9, [x2, #(CONTEXT_V9 )]
+ ldr d10, [x2, #(CONTEXT_V10)]
+ ldr d11, [x2, #(CONTEXT_V11)]
+ ldr d12, [x2, #(CONTEXT_V12)]
+ ldr d13, [x2, #(CONTEXT_V13)]
+ ldr d14, [x2, #(CONTEXT_V14)]
+ ldr d15, [x2, #(CONTEXT_V15)]
+
ldr x2, [x0, #(CONTEXT_Sp)]
mov sp, x2