From a79fd24e925481efcfb7ddb522c8c81ab4634cc7 Mon Sep 17 00:00:00 2001 From: Brad Lassey Date: Tue, 29 Dec 2009 20:28:46 -0500 Subject: [PATCH] bug 535894 - Crash under asmXPTC_InvokeByIndex r=crowder --- xpcom/reflect/xptcall/src/md/win32/xptcinvoke_asm_ce.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xpcom/reflect/xptcall/src/md/win32/xptcinvoke_asm_ce.asm b/xpcom/reflect/xptcall/src/md/win32/xptcinvoke_asm_ce.asm index b2448e213ff..cab66e39d5d 100644 --- a/xpcom/reflect/xptcall/src/md/win32/xptcinvoke_asm_ce.asm +++ b/xpcom/reflect/xptcall/src/md/win32/xptcinvoke_asm_ce.asm @@ -18,7 +18,7 @@ asmXPTC_InvokeByIndex mov r12, sp stmdb sp!, {r4 - r6, r12, lr} ; we're using registers 4, 5 and 6. Save them - sub sp, sp, #16 + sub sp, sp, #24 mov r6, r0 ; store 'that' (the target's this) mov r5, r1, lsl #2 ; a vtable index = methodIndex * 4 mov r4, sp ; Back up the initial stack pointer. @@ -56,7 +56,7 @@ asmXPTC_InvokeByIndex mov sp, r4 ; Restore the original stack pointer. - add sp, sp, #16 + add sp, sp, #24 ldmia sp!, {r4 - r6, sp, pc} ; Restore registers and return. END