commit 960c0cb9d2042158efb67909329cd93c4b330158
parent d9af3674fb95c922b2250d9154b1751f9cc0ad54
Author: serge-sans-paille <sguelton@mozilla.com>
Date: Fri, 28 Nov 2025 20:57:05 +0000
Bug 2002270 - Remove unsupported Darwin/ppc platform from xpcom/reflect/xptcall/md/unix/moz.build r=ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D274006
Diffstat:
2 files changed, 0 insertions(+), 147 deletions(-)
diff --git a/xpcom/reflect/xptcall/md/unix/moz.build b/xpcom/reflect/xptcall/md/unix/moz.build
@@ -9,11 +9,6 @@ if CONFIG["OS_ARCH"] == "Darwin":
"xptcinvoke_darwin.cpp",
"xptcstubs_darwin.cpp",
]
- if CONFIG["TARGET_CPU"] == "ppc":
- SOURCES += [
- "!xptcstubs_asm_ppc_darwin.s",
- "xptcinvoke_asm_ppc_rhapsody.s",
- ]
if CONFIG["TARGET_CPU"] == "x86_64":
SOURCES += [
"xptcinvoke_asm_x86_64_unix.S",
diff --git a/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc_rhapsody.s b/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc_rhapsody.s
@@ -1,142 +0,0 @@
-#
-# -*- Mode: Asm -*-
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#
-# ** Assumed vtable layout (obtained by disassembling with gdb):
-# ** 4 bytes per vtable entry, skip 0th and 1st entries, so the mapping
-# ** from index to entry is (4 * index) + 8.
-#
-
-.text
- .align 2
-#
-# NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
-# uint32_t paramCount, nsXPTCVariant* params)
-#
-
-.globl __NS_InvokeByIndex
-__NS_InvokeByIndex:
- mflr r0
- stw r31,-4(r1)
-#
-# save off the incoming values in the callers parameter area
-#
- stw r3,24(r1) ; that
- stw r4,28(r1) ; methodIndex
- stw r5,32(r1) ; paramCount
- stw r6,36(r1) ; params
- stw r0,8(r1)
- stwu r1,-144(r1) ; 24 for linkage area,
- ; 8*13 for fprData area,
- ; 8 for saved registers,
- ; 8 to keep stack 16-byte aligned
-
-# set up for and call 'invoke_count_words' to get new stack size
-#
- mr r3,r5
- mr r4,r6
-
- stwu r1,-24(r1)
- bl L_invoke_count_words$stub
- lwz r1,0(r1)
-
-# prepare args for 'invoke_copy_to_stack' call
-#
- lwz r4,176(r1) ; paramCount
- lwz r5,180(r1) ; params
- mr r6,r1 ; fprData
- slwi r3,r3,2 ; number of stack bytes required
- addi r3,r3,28 ; linkage area
- mr r31,r1 ; save original stack top
- sub r1,r1,r3 ; bump the stack
- clrrwi r1,r1,4 ; keep the stack 16-byte aligned
- addi r3,r31,144 ; act like real alloca, so 0(sp) always
- stw r3,0(r1) ; points back to previous stack frame
- addi r3,r1,28 ; parameter pointer excludes linkage area size + 'this'
-
-# create "temporary" stack frame for _invoke_copy_to_stack to operate in.
- stwu r1,-40(r1)
- bl L_invoke_copy_to_stack$stub
-# remove temporary stack frame.
- lwz r1,0(r1)
-
- lfd f1,0(r31)
- lfd f2,8(r31)
- lfd f3,16(r31)
- lfd f4,24(r31)
- lfd f5,32(r31)
- lfd f6,40(r31)
- lfd f7,48(r31)
- lfd f8,56(r31)
- lfd f9,64(r31)
- lfd f10,72(r31)
- lfd f11,80(r31)
- lfd f12,88(r31)
- lfd f13,96(r31)
-
- lwz r3,168(r31) ; that
- lwz r4,0(r3) ; get vTable from 'that'
- lwz r5,172(r31) ; methodIndex
- slwi r5,r5,2 ; methodIndex * 4
- lwzx r12,r5,r4 ; get function pointer
-
- lwz r4,28(r1)
- lwz r5,32(r1)
- lwz r6,36(r1)
- lwz r7,40(r1)
- lwz r8,44(r1)
- lwz r9,48(r1)
- lwz r10,52(r1)
-
- mtlr r12
- blrl
-
- mr r1,r31
- lwz r0,152(r1)
- addi r1,r1,144
- mtlr r0
- lwz r31,-4(r1)
-
- blr
-
-.picsymbol_stub
-L_invoke_count_words$stub:
- .indirect_symbol _invoke_count_words
- mflr r0
- bcl 20,31,L1$pb
-L1$pb:
- mflr r11
- addis r11,r11,ha16(L1$lz-L1$pb)
- mtlr r0
- lwz r12,lo16(L1$lz-L1$pb)(r11)
- mtctr r12
- addi r11,r11,lo16(L1$lz-L1$pb)
- bctr
-.lazy_symbol_pointer
-L1$lz:
- .indirect_symbol _invoke_count_words
- .long dyld_stub_binding_helper
-
-
-.picsymbol_stub
-L_invoke_copy_to_stack$stub:
- .indirect_symbol _invoke_copy_to_stack
- mflr r0
- bcl 20,31,L2$pb
-L2$pb:
- mflr r11
- addis r11,r11,ha16(L2$lz-L2$pb)
- mtlr r0
- lwz r12,lo16(L2$lz-L2$pb)(r11)
- mtctr r12
- addi r11,r11,lo16(L2$lz-L2$pb)
- bctr
-.lazy_symbol_pointer
-L2$lz:
- .indirect_symbol _invoke_copy_to_stack
- .long dyld_stub_binding_helper
-