summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/heap/asm/SaveRegisters_arm64.S
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/heap/asm/SaveRegisters_arm64.S')
-rw-r--r--chromium/third_party/blink/renderer/platform/heap/asm/SaveRegisters_arm64.S20
1 files changed, 16 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/platform/heap/asm/SaveRegisters_arm64.S b/chromium/third_party/blink/renderer/platform/heap/asm/SaveRegisters_arm64.S
index a6f31555e6f..5c765f23d80 100644
--- a/chromium/third_party/blink/renderer/platform/heap/asm/SaveRegisters_arm64.S
+++ b/chromium/third_party/blink/renderer/platform/heap/asm/SaveRegisters_arm64.S
@@ -34,10 +34,22 @@
* extern "C" void PushAllRegisters(SafePointBarrier*, ThreadState*, PushAllRegistersCallback)
*/
-.type PushAllRegisters, %function
-.global PushAllRegisters
-.hidden PushAllRegisters
-PushAllRegisters:
+/* Supplementary macro for setting function attributes */
+.macro asm_function fname
+#ifdef __APPLE__
+ .globl _\fname
+_\fname:
+#else
+ .global \fname
+#ifdef __ELF__
+ .hidden \fname
+ .type \fname, %function
+#endif
+\fname:
+#endif
+.endm
+
+asm_function PushAllRegisters
/* Save return address. */
sub sp, sp, #96
stp x19, x20, [sp, #80]