Kaydet (Commit) b9cf7da2 authored tarafından jan Iversen's avatar jan Iversen

iOS, balanced return stack

stack balenced for entering and exiting _privateSnippetExecutor

Change-Id: I381c487d3412a39b113e9725807fd018b2b4036a
üst 359f2035
...@@ -199,35 +199,33 @@ _privateSnippetExecutor: ...@@ -199,35 +199,33 @@ _privateSnippetExecutor:
.cfi_offset w29, -16 .cfi_offset w29, -16
// _privateSnippetExecutor is jumped to from codeSnippet_* // _privateSnippetExecutor is jumped to from codeSnippet_*
stp x29, x30, [sp, #-0x10]! stp x29, x30, [sp, #-0x10]!
mov x29, sp mov x29, sp
// push all GP, FP/SIMD registers to the stack // push all GP, FP/SIMD registers to the stack
stp x6, x7, [sp, #-16]! stp x6, x7, [sp, #-16]!
stp x4, x5, [sp, #-16]! stp x4, x5, [sp, #-16]!
stp x2, x3, [sp, #-16]! stp x2, x3, [sp, #-16]!
stp x0, x1, [sp, #-16]! stp x0, x1, [sp, #-16]!
stp d6, d7, [sp, #-16]! stp d6, d7, [sp, #-16]!
stp d4, d5, [sp, #-16]! stp d4, d5, [sp, #-16]!
stp d2, d3, [sp, #-16]! stp d2, d3, [sp, #-16]!
stp d0, d1, [sp, #-16]! stp d0, d1, [sp, #-16]!
// push x8 (RC pointer) and lr to stack // push x8 (RC pointer) and lr to stack
stp x8, lr, [sp, #-16]! stp x8, lr, [sp, #-16]!
// First argument (x15 set up in the codeSnippet instance) // First argument (x15 set up in the codeSnippet instance)
// Second argument: The pointer to all the above // Second argument: The pointer to all the above
mov x0, x14 mov x0, x14
mov x1, x15 mov x1, x15
mov x2, sp mov x2, sp
bl _cpp_vtable_call
bl _cpp_vtable_call .globl _jantest
// ldp x8, lr, [sp, #0] ldp x8, lr, [sp, #0]
// add sp, sp, #144 add sp, sp, #144
// ret lr ldp x29, x30, [sp], #0x10
add sp, sp, #144 ret lr
ldp x29, x30, [sp], #0x10
ret
.cfi_endproc .cfi_endproc
// vim:set shiftwidth=4 softtabstop=4 expandtab: // vim:set shiftwidth=4 softtabstop=4 expandtab:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment