[Arm64] Pass ResolveCacheElem in DispatchToken to match AMD64
authorSteve MacLean, Qualcomm Datacenter Technologies Inc <sdmaclea@qti.qualcomm.com>
Mon, 24 Jul 2017 17:30:01 +0000 (13:30 -0400)
committerSteve MacLean, Qualcomm Datacenter Technologies Inc <sdmaclea@qti.qualcomm.com>
Mon, 24 Jul 2017 18:23:48 +0000 (14:23 -0400)
src/vm/arm64/asmhelpers.S
src/vm/arm64/asmhelpers.asm

index 2e1d029..7a64665 100644 (file)
@@ -1112,6 +1112,7 @@ LOCAL_LABEL(Promote):
     mov     x16, #256
     str     x16, [x13]         // be quick to reset the counter so we don't get a bunch of contending threads
     orr     x11, x11, #PROMOTE_CHAIN_FLAG   // set PROMOTE_CHAIN_FLAG
+    mov     x12, x9           // We pass the ResolveCacheElem to ResolveWorkerAsmStub instead of the DispatchToken
 
 LOCAL_LABEL(Fail):
     b       ResolveWorkerAsmStub // call the ResolveWorkerAsmStub method to transition into the VM
index 8da2151..edd40f7 100644 (file)
@@ -1198,8 +1198,9 @@ Success
 Promote
                                   ; Move this entry to head postion of the chain
         mov     x16, #256
-        str     x16, [x13]         ; be quick to reset the counter so we don't get a bunch of contending threads
+        str     x16, [x13]        ; be quick to reset the counter so we don't get a bunch of contending threads
         orr     x11, x11, #PROMOTE_CHAIN_FLAG   ; set PROMOTE_CHAIN_FLAG 
+        mov     x12, x9           ; We pass the ResolveCacheElem to ResolveWorkerAsmStub instead of the DispatchToken
 
 Fail           
         b       ResolveWorkerAsmStub ; call the ResolveWorkerAsmStub method to transition into the VM