diff options
author | jan Iversen <jani@libreoffice.org> | 2018-03-17 21:32:10 +0100 |
---|---|---|
committer | jan Iversen <jani@libreoffice.org> | 2018-03-17 21:33:43 +0100 |
commit | b9cf7da2907f759c98b801939e7c04cf0b80388f (patch) | |
tree | a38da701fa43bf02af2bd1617b655530fdff2f5d /bridges | |
parent | 359f2035bcef41eef027580b22529f5bdb5f96d2 (diff) |
iOS, balanced return stack
stack balenced for entering and exiting _privateSnippetExecutor
Change-Id: I381c487d3412a39b113e9725807fd018b2b4036a
Diffstat (limited to 'bridges')
-rw-r--r-- | bridges/source/cpp_uno/gcc3_ios/ios64_helper.s | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s b/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s index 4c09f2b1b2f9..e08910db8e55 100644 --- a/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s +++ b/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s @@ -199,35 +199,33 @@ _privateSnippetExecutor: .cfi_offset w29, -16 // _privateSnippetExecutor is jumped to from codeSnippet_* - stp x29, x30, [sp, #-0x10]! - mov x29, sp + stp x29, x30, [sp, #-0x10]! + mov x29, sp // push all GP, FP/SIMD registers to the stack - stp x6, x7, [sp, #-16]! - stp x4, x5, [sp, #-16]! - stp x2, x3, [sp, #-16]! - stp x0, x1, [sp, #-16]! - stp d6, d7, [sp, #-16]! - stp d4, d5, [sp, #-16]! - stp d2, d3, [sp, #-16]! - stp d0, d1, [sp, #-16]! + stp x6, x7, [sp, #-16]! + stp x4, x5, [sp, #-16]! + stp x2, x3, [sp, #-16]! + stp x0, x1, [sp, #-16]! + stp d6, d7, [sp, #-16]! + stp d4, d5, [sp, #-16]! + stp d2, d3, [sp, #-16]! + stp d0, d1, [sp, #-16]! // push x8 (RC pointer) and lr to stack stp x8, lr, [sp, #-16]! // First argument (x15 set up in the codeSnippet instance) // Second argument: The pointer to all the above - mov x0, x14 - mov x1, x15 - mov x2, sp - - bl _cpp_vtable_call -// ldp x8, lr, [sp, #0] -// add sp, sp, #144 -// ret lr - add sp, sp, #144 - ldp x29, x30, [sp], #0x10 - ret + mov x0, x14 + mov x1, x15 + mov x2, sp + bl _cpp_vtable_call + .globl _jantest + ldp x8, lr, [sp, #0] + add sp, sp, #144 + ldp x29, x30, [sp], #0x10 + ret lr .cfi_endproc // vim:set shiftwidth=4 softtabstop=4 expandtab: |