xptcinvoke_x86_solaris.cpp File Reference


Functions

 EXPORT_XPCOM_API (nsresult) NS_InvokeByIndex_P(nsISupports *that
__asm__ __volatile__ ("subl %8, %%esp\n\t""pushl %%esp\n\t""pushl %7\n\t""pushl %6\n\t""call *%0\n\t""addl $0xc, %%esp\n\t""movl %4, %%ecx\n\t"#ifdef CFRONT_STYLE_THIS_ADJUST"movl (%%ecx), %%edx\n\t""movl %5, %%eax\n\t""shl $3, %%eax\n\t""addl $8, %%eax\n\t""addl %%eax, %%edx\n\t""movswl (%%edx), %%eax\n\t""addl %%eax, %%ecx\n\t""pushl %%ecx\n\t""addl $4, %%edx\n\t"#else"pushl %%ecx\n\t""movl (%%ecx), %%edx\n\t""movl %5, %%eax\n\t"#if defined(__GXX_ABI_VERSION)&&__GXX_ABI_VERSION >=100"leal (%%edx,%%eax,4), %%edx\n\t"#else"leal 8(%%edx,%%eax,4), %%edx\n\t"#endif#endif"call *(%%edx)\n\t""addl $4, %%esp\n\t""addl %8, %%esp":"=a"(result),"=c"(temp1),"=d"(temp2),"=g"(temp3):"g"(that),"g"(methodIndex),"1"(paramCount),"2"(params),"g"(n),"0"(fn_copy):"memory")

Variables

PRUint32 methodIndex
PRUint32 PRUint32 paramCount
PRUint32 PRUint32
nsXPTCVariant *params PRUint32 
result
PRUint32 n = invoke_count_words (paramCount, params) * 4
void(* fn_copy )(unsigned int, nsXPTCVariant *, PRUint32 *) = invoke_copy_to_stack
int temp1
int temp2
int temp3


Function Documentation

EXPORT_XPCOM_API ( nsresult   ) 

__asm__ __volatile__ ( "subl %  8,
%%esp\n\t""pushl%%esp\n\t""pushl%7\n\t""pushl%6\n\t""call *%0\n\t""addl $  0xc,
%%esp\n\t""movl%  4,
%%ecx\n\t"#ifdef CFRONT_STYLE_THIS_ADJUST"  movl%%ecx,
%%edx\n\t""movl%  5,
%%eax\n\t""shl $  3,
%%eax\n\t""addl $  8,
%%eax\n\t""addl%%  eax,
%%edx\n\t""  movswl%%edx,
%%eax\n\t""addl%%  eax,
%%ecx\n\t""pushl%%ecx\n\t""addl $  4,
%%edx\n\t"#else"pushl%%ecx\n\t""  movl%%ecx,
%%edx\n\t""movl%  5,
%%eax\n\t"#if   defined__GXX_ABI_VERSION)&&__GXX_ABI_VERSION >=100"leal(%%edx,%%eax, 4,
%%edx\n\t"#else"leal   8%%edx,%%eax, 4,
%%edx\n\t"#endif#endif"call *(%%edx)\n\t""addl $  4,
%%esp\n\t""addl%  8 
)


Variable Documentation

return result

PRUint32 n = invoke_count_words (paramCount, params) * 4

void(* fn_copy)(unsigned int, nsXPTCVariant *, PRUint32 *) = invoke_copy_to_stack

int temp1

int temp2

int temp3


Generated Mozilla by doxygen 1.5.6