[Arm64/Unix] Remove x19 corruption workaround
authorSteve MacLean, Qualcomm Datacenter Technologies, Inc <sdmaclea@qti.qualcomm.com>
Thu, 16 Mar 2017 16:20:39 +0000 (16:20 +0000)
committerSteve MacLean, Qualcomm Datacenter Technologies, Inc <sdmaclea@qti.qualcomm.com>
Fri, 17 Mar 2017 17:42:27 +0000 (17:42 +0000)
Commit migrated from https://github.com/dotnet/coreclr/commit/c479cc7ed5d049aa0f085dfdc4484c399a6a7187

src/coreclr/src/vm/arm64/calldescrworkerarm64.S

index 2210d70..5bcad2f 100644 (file)
@@ -13,8 +13,7 @@
 
 NESTED_ENTRY CallDescrWorkerInternal, _TEXT, NoHandler
     PROLOG_SAVE_REG_PAIR_INDEXED   fp, lr, -32
-    PROLOG_SAVE_REG    x19, 16
-    PROLOG_SAVE_REG    x0, 24
+    PROLOG_SAVE_REG    x19, 16           //the stack slot at sp+24 is empty for 16 byte alligment
 
     mov     x19, x0 // save pCallDescrData in x19
 
@@ -69,8 +68,6 @@ LOCAL_LABEL(NoFloatingPoint):
     ldr     x9, [x19,#CallDescrData__pTarget]
     blr     x9
 
-    ldr     x19, [fp, 24] // Fixup corrupted X19 caller preserved register
-
     ldr     w3, [x19,#CallDescrData__fpReturnSize]
 
     // Int return case