Bug 404716 - "AIX Compilation error for trunk build source xptcstubs_ppc_aix64.cpp : "nsIInterfaceInfo" did not find a declaration , "CallMethod" is not a member of "class nsXPTCStubBase"" [p=shailen.n.jain@gmail.com (Shailen) r+sr=bsmedberg a1.9=damons]

git-svn-id: svn://10.0.0.236/trunk@240796 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
reed%reedloden.com 2007-12-11 08:47:18 +00:00
parent 89e00d7b65
commit b115b1fa12
5 changed files with 40 additions and 50 deletions

View File

@ -58,24 +58,24 @@
.rename H.10.NO_SYMBOL{PR},""
.rename H.18.XPTC_InvokeByIndex{TC},"XPTC_InvokeByIndex"
.rename H.18.NS_InvokeByIndex_P{TC},"NS_InvokeByIndex_P"
# .text section
.csect H.10.NO_SYMBOL{PR}
.globl .XPTC_InvokeByIndex
.globl XPTC_InvokeByIndex{DS}
.globl .NS_InvokeByIndex_P
.globl NS_InvokeByIndex_P{DS}
.extern .invoke_copy_to_stack
.extern ._ptrgl{PR}
#
# XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
# NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
# PRUint32 paramCount, nsXPTCVariant* params)
#
.XPTC_InvokeByIndex:
.NS_InvokeByIndex_P:
mflr r0
stw r31,-4(sp)
#
@ -150,13 +150,13 @@
# .data section
.toc # 0x00000038
T.18.XPTC_InvokeByIndex:
.tc H.18.XPTC_InvokeByIndex{TC},XPTC_InvokeByIndex{DS}
T.18.NS_InvokeByIndex_P:
.tc H.18.NS_InvokeByIndex_P{TC},NS_InvokeByIndex_P{DS}
.csect XPTC_InvokeByIndex{DS}
.long .XPTC_InvokeByIndex # "\0\0\0\0"
.csect NS_InvokeByIndex_P{DS}
.long .NS_InvokeByIndex_P # "\0\0\0\0"
.long TOC{TC0} # "\0\0\0008"
.long 0x00000000 # "\0\0\0\0"
# End csect XPTC_InvokeByIndex{DS}
# End csect NS_InvokeByIndex_P{DS}
# .bss section

View File

@ -53,23 +53,23 @@
.set CR0_EQ,2
.rename H.10.NO_SYMBOL{PR},""
.rename H.18.XPTC_InvokeByIndex{TC},"XPTC_InvokeByIndex"
.rename H.18.NS_InvokeByIndex_P{TC},"NS_InvokeByIndex_P"
# .text section
.csect H.10.NO_SYMBOL{PR}
.globl .XPTC_InvokeByIndex
.globl XPTC_InvokeByIndex{DS}
.globl .NS_InvokeByIndex_P
.globl NS_InvokeByIndex_P{DS}
.extern .invoke_copy_to_stack
.extern ._ptrgl{PR}
#
# XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
# NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
# PRUint32 paramCount, nsXPTCVariant* params)
#
.XPTC_InvokeByIndex:
.NS_InvokeByIndex_P:
mflr r0
std r31,-8(sp)
#
@ -149,13 +149,13 @@
# .data section
.toc # 0x00000038
T.18.XPTC_InvokeByIndex:
.tc H.18.XPTC_InvokeByIndex{TC},XPTC_InvokeByIndex{DS}
T.18.NS_InvokeByIndex_P:
.tc H.18.NS_InvokeByIndex_P{TC},NS_InvokeByIndex_P{DS}
.csect XPTC_InvokeByIndex{DS}
.llong .XPTC_InvokeByIndex # "\0\0\0\0"
.csect NS_InvokeByIndex_P{DS}
.llong .NS_InvokeByIndex_P # "\0\0\0\0"
.llong TOC{TC0} # "\0\0\0008"
.llong 0x00000000 # "\0\0\0\0"
# End csect XPTC_InvokeByIndex{DS}
# End csect NS_InvokeByIndex_P{DS}
# .bss section

View File

@ -57,24 +57,24 @@
.rename H.10.NO_SYMBOL{PR},""
.rename H.18.XPTC_InvokeByIndex{TC},"XPTC_InvokeByIndex"
.rename H.18.NS_InvokeByIndex_P{TC},"NS_InvokeByIndex_P"
# .text section
.csect H.10.NO_SYMBOL{PR}
.globl .XPTC_InvokeByIndex
.globl XPTC_InvokeByIndex{DS}
.globl .NS_InvokeByIndex_P
.globl NS_InvokeByIndex_P{DS}
.extern .invoke_copy_to_stack
.extern ._ptrgl{PR}
#
# XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
# NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
# PRUint32 paramCount, nsXPTCVariant* params)
#
.XPTC_InvokeByIndex:
.NS_InvokeByIndex_P:
mflr r0
stw r31,-4(sp)
#
@ -144,13 +144,13 @@
# .data section
.toc # 0x00000038
T.18.XPTC_InvokeByIndex:
.tc H.18.XPTC_InvokeByIndex{TC},XPTC_InvokeByIndex{DS}
T.18.NS_InvokeByIndex_P:
.tc H.18.NS_InvokeByIndex_P{TC},NS_InvokeByIndex_P{DS}
.csect XPTC_InvokeByIndex{DS}
.long .XPTC_InvokeByIndex # "\0\0\0\0"
.csect NS_InvokeByIndex_P{DS}
.long .NS_InvokeByIndex_P # "\0\0\0\0"
.long TOC{TC0} # "\0\0\0008"
.long 0x00000000 # "\0\0\0\0"
# End csect XPTC_InvokeByIndex{DS}
# End csect NS_InvokeByIndex_P{DS}
# .bss section

View File

@ -38,6 +38,7 @@
/* Implement shared vtbl methods. */
#include "xptcprivate.h"
#include "xptiprivate.h"
#if defined(AIX)
@ -60,19 +61,15 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex, PRUint32* args, P
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
nsXPTCMiniVariant* dispatchParams = NULL;
nsIInterfaceInfo* iface_info = NULL;
const nsXPTMethodInfo* info;
const nsXPTMethodInfo* info = NULL;
PRUint8 paramCount;
PRUint8 i;
nsresult result = NS_ERROR_FAILURE;
NS_ASSERTION(self,"no self");
self->GetInterfaceInfo(&iface_info);
NS_ASSERTION(iface_info,"no interface info");
iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
NS_ASSERTION(info,"no interface info");
self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info);
NS_ASSERTION(info,"no method info");
paramCount = info->GetParamCount();
@ -198,9 +195,7 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex, PRUint32* args, P
}
}
result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams);
NS_RELEASE(iface_info);
result = self->mOuter->CallMethod((PRUint16)methodIndex,info,dispatchParams);
if(dispatchParams != paramBuffer)
delete [] dispatchParams;

View File

@ -37,6 +37,7 @@
/* Implement shared vtbl methods. */
#include "xptcprivate.h"
#include "xptiprivate.h"
#if defined(AIX)
@ -55,19 +56,15 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args, P
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
nsXPTCMiniVariant* dispatchParams = NULL;
nsIInterfaceInfo* iface_info = NULL;
const nsXPTMethodInfo* info;
const nsXPTMethodInfo* info = NULL;
PRUint8 paramCount;
PRUint8 i;
nsresult result = NS_ERROR_FAILURE;
NS_ASSERTION(self,"no self");
self->GetInterfaceInfo(&iface_info);
NS_ASSERTION(iface_info,"no interface info");
iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
NS_ASSERTION(info,"no interface info");
self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info);
NS_ASSERTION(info,"no method info");
paramCount = info->GetParamCount();
@ -185,9 +182,7 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args, P
}
}
result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams);
NS_RELEASE(iface_info);
result = self->mOuter->CallMethod((PRUint16)methodIndex,info,dispatchParams);
if(dispatchParams != paramBuffer)
delete [] dispatchParams;