$NetBSD: patch-xl,v 1.1 2014/07/27 05:36:07 ryoon Exp $

NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.

--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s.orig	2012-11-19 22:42:44.000000000 +0000
+++ mozilla/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)  
