mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 06:55:07 +00:00
Make sp 8 byte aligned in invokeNative on ARM (#697)
Make sp 8 byte aligned in invokeNative assembly on ARM. Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
This commit is contained in:
parent
db695fada4
commit
6a7fd3e688
|
@ -22,6 +22,7 @@ _invokeNative:
|
|||
*/
|
||||
|
||||
stmfd sp!, {r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #4 /* make sp 8 byte aligned */
|
||||
mov ip, r0 /* ip = function ptr */
|
||||
mov r4, r1 /* r4 = argv */
|
||||
mov r5, r2 /* r5 = nstacks */
|
||||
|
@ -79,6 +80,7 @@ call_func:
|
|||
mov sp, r6 /* restore sp */
|
||||
|
||||
return:
|
||||
add sp, sp, #4 /* make sp 8 byte aligned */
|
||||
ldmfd sp!, {r4, r5, r6, r7, lr}
|
||||
bx lr
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ _invokeNative:
|
|||
|
||||
push {r4, r5, r6, r7}
|
||||
push {lr}
|
||||
sub sp, sp, #4 /* make sp 8 byte aligned */
|
||||
mov ip, r0 /* ip = function ptr */
|
||||
mov r4, r1 /* r4 = argv */
|
||||
mov r5, r2 /* r5 = argc */
|
||||
|
@ -83,6 +84,7 @@ call_func:
|
|||
add sp, sp, r6 /* restore sp */
|
||||
|
||||
return:
|
||||
add sp, sp, #4 /* make sp 8 byte aligned */
|
||||
pop {r3}
|
||||
pop {r4, r5, r6, r7}
|
||||
mov lr, r3
|
||||
|
|
|
@ -23,6 +23,7 @@ _invokeNative:
|
|||
|
||||
push {r4, r5, r6, r7}
|
||||
push {lr}
|
||||
sub sp, sp, #4 /* make sp 8 byte aligned */
|
||||
mov ip, r0 /* ip = function ptr */
|
||||
mov r4, r1 /* r4 = argv */
|
||||
mov r5, r2 /* r5 = nstacks */
|
||||
|
@ -91,6 +92,7 @@ call_func:
|
|||
mov sp, r7 /* restore sp */
|
||||
|
||||
return:
|
||||
add sp, sp, #4 /* make sp 8 byte aligned */
|
||||
pop {r3}
|
||||
pop {r4, r5, r6, r7}
|
||||
mov lr, r3
|
||||
|
|
Loading…
Reference in New Issue
Block a user