diff options
author | Moonchild <moonchild@palemoon.org> | 2020-05-19 22:14:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-19 22:14:43 +0200 |
commit | 750b4c3a11e6ed4d92598072899b02c549f17d26 (patch) | |
tree | 75e1ec3ab5ecec3a0ec29a176a3b46ef33609b76 /xpcom | |
parent | ffb32138cbe23dc275ec409770246739f9678cef (diff) | |
parent | 052a035958d43c3fb0a980c0c7a93ad2073afddf (diff) | |
download | UXP-750b4c3a11e6ed4d92598072899b02c549f17d26.tar UXP-750b4c3a11e6ed4d92598072899b02c549f17d26.tar.gz UXP-750b4c3a11e6ed4d92598072899b02c549f17d26.tar.lz UXP-750b4c3a11e6ed4d92598072899b02c549f17d26.tar.xz UXP-750b4c3a11e6ed4d92598072899b02c549f17d26.zip |
Merge pull request #1544 from FlyGoat/mips-upstream
Implements initial MIPS Support
Diffstat (limited to 'xpcom')
-rw-r--r-- | xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips64.S | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips64.S b/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips64.S index eef34de7f..d2c5595ab 100644 --- a/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips64.S +++ b/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips64.S @@ -67,10 +67,10 @@ NESTED(_NS_InvokeByIndex, FRAMESZ, ra) jal invoke_copy_to_stack REG_L t3, 8(sp) # get previous a0 - REG_L sp, 0(sp) # get orig sp back + REG_L s0, 0(sp) # get orig sp back and save away our stack pointer - REG_L a0, A0OFF(sp) # a0 - that - REG_L a1, A1OFF(sp) # a1 - methodIndex + REG_L a0, A0OFF(s0) # a0 - that + REG_L a1, A1OFF(s0) # a1 - methodIndex # t1 = methodIndex * pow(2, PTRLOG) # (use shift instead of mult) @@ -105,13 +105,12 @@ NESTED(_NS_InvokeByIndex, FRAMESZ, ra) l.d $f18, 40(t1) l.d $f19, 48(t1) - # save away our stack pointer and create - # the stack pointer for the function - move s0, sp + # create the stack pointer for the function move sp, t3 jalr t9 + ## restore stack pointer. move sp, s0 RESTORE_GP64 |