comparison dyncallback/dyncall_callback_arm32_arm_gas.S @ 42:ecc9403e214a r0.9-RC3

- final touch for complete armhf callback support, yay - armhf doc updates
author cslag
date Fri, 18 Dec 2015 23:28:18 +0100
parents fb416abb2059
children 9bd3c5219505
comparison
equal deleted inserted replaced
41:00310bf92924 42:ecc9403e214a
72 mov %r14, %r15 /* Branch return address(r15) -> link register (r14) -- r15 always points to address of current + 2 instructions (= Epilog code). */ 72 mov %r14, %r15 /* Branch return address(r15) -> link register (r14) -- r15 always points to address of current + 2 instructions (= Epilog code). */
73 bx %r4 /* Call. */ 73 bx %r4 /* Call. */
74 74
75 /* Return value. */ 75 /* Return value. */
76 ldmia %r13, {%r0, %r1} /* Load return value in r0 and r1. */ 76 ldmia %r13, {%r0, %r1} /* Load return value in r0 and r1. */
77 #if defined(DC__ABI_ARM_HF)
78 fldmiad %r13, {%d0} /* Same for floating point return value (if any). */
79 #endif
77 80
78 /* Epilog. */ 81 /* Epilog. */
79 ldmdb %r11, {%r4-%r11, %r13, %r15} /* Restore permanent registers (restore stack ptr and program counter).@@@db not needed since we rewrite r13? */ 82 ldmdb %r11, {%r4-%r11, %r13, %r15} /* Restore permanent registers (restore stack ptr and program counter).@@@db not needed since we rewrite r13? */
80 83