Kaydet (Commit) 09555ce0 authored tarafından Apostolos Syropoulos's avatar Apostolos Syropoulos Kaydeden (comit) Michael Meeks

Avoid inlining of bridge functions on Solaris / Intel.

Change-Id: Id047044f86ca358c40a87bebde84453787ccec6d
üst 777b8f43
...@@ -353,11 +353,8 @@ static typelib_TypeClass cpp_mediate( ...@@ -353,11 +353,8 @@ static typelib_TypeClass cpp_mediate(
* is called on incoming vtable calls * is called on incoming vtable calls
* (called by asm snippets) * (called by asm snippets)
*/ */
static void cpp_vtable_call( static void __attribute__((noinline,regparm(3))) cpp_vtable_call(
int nFunctionIndex, int nVtableOffset, void** pCallStack ) int nFunctionIndex, int nVtableOffset, void** pCallStack )
__attribute__((regparm(3)));
void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
{ {
volatile long nRegReturn[2]; volatile long nRegReturn[2];
typelib_TypeClass aType = cpp_mediate( typelib_TypeClass aType = cpp_mediate(
......
...@@ -38,15 +38,7 @@ using namespace ::com::sun::star::uno; ...@@ -38,15 +38,7 @@ using namespace ::com::sun::star::uno;
namespace namespace
{ {
void callVirtualMethod( static void __attribute__((noinline)) callVirtualMethod(
void * pAdjustedThisPtr,
sal_Int32 nVtableIndex,
void * pRegisterReturn,
typelib_TypeClass eReturnType,
sal_Int32 * pStackLongs,
sal_Int32 nStackLongs ) __attribute__((noinline));
void callVirtualMethod(
void * pAdjustedThisPtr, void * pAdjustedThisPtr,
sal_Int32 nVtableIndex, sal_Int32 nVtableIndex,
void * pRegisterReturn, void * pRegisterReturn,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment