iOS, balanced return stack

stack balenced for entering and exiting _privateSnippetExecutor

Change-Id: I381c487d3412a39b113e9725807fd018b2b4036a
This commit is contained in:
jan Iversen
2018-03-17 21:32:10 +01:00
parent 359f2035bc
commit b9cf7da290

View File

@@ -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: