From 9b7237b93eb4a9b56c8115b42a70108c643f9c4b Mon Sep 17 00:00:00 2001 From: Rama Krishnan Raghupathy Date: Thu, 7 Apr 2016 19:40:30 -0700 Subject: [PATCH] [Arm64]:Fixing the Logic of ResolveWorkerChainLookupAsmStub Commit migrated from https://github.com/dotnet/coreclr/commit/df01dac9db7757bc3bee4c2c8a50157a3e7da097 --- src/coreclr/src/vm/arm64/asmhelpers.asm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/coreclr/src/vm/arm64/asmhelpers.asm b/src/coreclr/src/vm/arm64/asmhelpers.asm index a2b4948..a12a484 100644 --- a/src/coreclr/src/vm/arm64/asmhelpers.asm +++ b/src/coreclr/src/vm/arm64/asmhelpers.asm @@ -1104,6 +1104,7 @@ FaultingExceptionFrame_FrameOffset SETA SIZEOF__GSCookie ; On Exit (to ResolveWorkerAsmStub): ; x11 contains the address of the indirection and the flags in the low two bits. ; x12 contains our contract (DispatchToken) +; x16,x17 will be trashed ; GBLA BACKPATCH_FLAG ; two low bit flags used by ResolveWorkerAsmStub GBLA PROMOTE_CHAIN_FLAG ; two low bit flags used by ResolveWorkerAsmStub @@ -1121,12 +1122,11 @@ MainLoop cmp x9, #0 beq Fail - ldr x9, [x9, #0] - cmp x9, x13 ; compare our MT with the one in the ResolveCacheElem + ldp x16, x17, [x9] + cmp x16, x13 ; compare our MT with the one in the ResolveCacheElem bne MainLoop - ldr x9, [x9, #8] - cmp x8, x12 ; compare our DispatchToken with one in the ResolveCacheElem + cmp x17, x12 ; compare our DispatchToken with one in the ResolveCacheElem bne MainLoop Success -- 2.7.4