XULRunner is a runtime environment for applications using the XML User Interface Language, XUL. It is the successor of the "Gecko" runtime environment. This package tracks 17.0.x extended support release.
74 lines
2.7 KiB
Text
74 lines
2.7 KiB
Text
$NetBSD: patch-xl,v 1.1 2013/01/10 16:17:11 ryoon Exp $
|
|
|
|
NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.
|
|
|
|
--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s.orig 2012-11-19 17:41:53.000000000 +0000
|
|
+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s
|
|
@@ -20,41 +20,42 @@
|
|
|
|
.section ".text"
|
|
.align 2
|
|
- .globl XPTC_InvokeByIndex
|
|
- .type XPTC_InvokeByIndex,@function
|
|
+ .globl NS_InvokeByIndex_P
|
|
+ .type NS_InvokeByIndex_P,@function
|
|
+
|
|
+//
|
|
+// NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
|
|
+// PRUint32 paramCount, nsXPTCVariant* params)
|
|
+//
|
|
+
|
|
+NS_InvokeByIndex_P:
|
|
+ stwu sp,-32(sp) // setup standard stack frame
|
|
+ mflr r0 // save LR
|
|
+ stw r3,8(sp) // r3 <= that
|
|
+ stw r4,12(sp) // r4 <= methodIndex
|
|
|
|
-#
|
|
-# XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
|
|
-# uint32_t paramCount, nsXPTCVariant* params)
|
|
-#
|
|
-
|
|
-XPTC_InvokeByIndex:
|
|
- stwu sp,-32(sp) # setup standard stack frame
|
|
- mflr r0 # save LR
|
|
- stw r3,8(sp) # r3 <= that
|
|
- stw r4,12(sp) # r4 <= methodIndex
|
|
stw r30,16(sp)
|
|
stw r31,20(sp)
|
|
|
|
- stw r0,36(sp) # store LR backchain
|
|
+ stw r0,36(sp) // store LR backchain
|
|
mr r31,sp
|
|
|
|
- rlwinm r10,r5,3,0,27 # r10 = (ParamCount * 2 * 4) & ~0x0f
|
|
- addi r0,r10,96 # reserve stack for GPR and FPR register save area r0 = r10 + 96
|
|
- lwz r9,0(sp) # r9 = backchain
|
|
+ rlwinm r10,r5,3,0,27 // r10 = (ParamCount * 2 * 4) & ~0x0f
|
|
+ addi r0,r10,96 // reserve stack for GPR and FPR register save area r0 = r10 + 96
|
|
+ lwz r9,0(sp) // r9 = backchain
|
|
neg r0,r0
|
|
- stwux r9,sp,r0 # reserve stack sapce and save SP backchain
|
|
+ stwux r9,sp,r0 // reserve stack sapce and save SP backchain
|
|
|
|
- addi r3,sp,8 # r3 <= args
|
|
- mr r4,r5 # r4 <= paramCount
|
|
- mr r5,r6 # r5 <= params
|
|
- add r6,r3,r10 # r6 <= gpregs ( == args + r10 )
|
|
- mr r30,r6 # store in r30 for use later...
|
|
- addi r7,r6,32 # r7 <= fpregs ( == gpregs + 32 )
|
|
+ addi r3,sp,8 // r3 <= args
|
|
+ mr r4,r5 // r4 <= paramCount
|
|
+ mr r5,r6 // r5 <= params
|
|
+ add r6,r3,r10 // r6 <= gpregs ( == args + r10 )
|
|
+ mr r30,r6 // store in r30 for use later...
|
|
+ addi r7,r6,32 // r7 <= fpregs ( == gpregs + 32 )
|
|
|
|
- bl invoke_copy_to_stack@local # (args, paramCount, params, gpregs, fpregs)
|
|
+ bl invoke_copy_to_stack@local // (args, paramCount, params, gpregs, fpregs)
|
|
|
|
- lfd f1,32(r30) # load FP registers with method parameters
|
|
+ lfd f1,32(r30) // load FP registers with method parameters
|
|
lfd f2,40(r30)
|
|
lfd f3,48(r30)
|
|
lfd f4,56(r30)
|