iOS, balanced return stack
stack balenced for entering and exiting _privateSnippetExecutor Change-Id: I381c487d3412a39b113e9725807fd018b2b4036a
This commit is contained in:
@@ -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:
|
||||
|
Reference in New Issue
Block a user