Kaydet (Commit) 86a372ad authored tarafından Tor Lillqvist's avatar Tor Lillqvist

More informative logging in codeSnippet()

Change-Id: I6909ed60b39a65e6a6464427b2f839aa2bff3863
üst a5504e49
...@@ -361,6 +361,8 @@ extern "C" typedef void (*PrivateSnippetExecutor)(); ...@@ -361,6 +361,8 @@ extern "C" typedef void (*PrivateSnippetExecutor)();
int const codeSnippetSize = 16; int const codeSnippetSize = 16;
unsigned char * codeSnippet( unsigned char * codeSnippet(
const typelib_InterfaceTypeDescription *type,
const typelib_TypeDescription *member,
unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
typelib_TypeDescriptionReference * pReturnTypeRef) typelib_TypeDescriptionReference * pReturnTypeRef)
{ {
...@@ -427,18 +429,19 @@ unsigned char * codeSnippet( ...@@ -427,18 +429,19 @@ unsigned char * codeSnippet(
= ((unsigned char *) exec) - p - sizeof (sal_Int32); = ((unsigned char *) exec) - p - sizeof (sal_Int32);
p += sizeof (sal_Int32); p += sizeof (sal_Int32);
OSL_ASSERT(p - code <= codeSnippetSize); OSL_ASSERT(p - code <= codeSnippetSize);
#if OSL_DEBUG_LEVEL > 1
fprintf(stderr, SAL_INFO( "bridges.osx", "codeSnippet("
"==> codeSnippet to %s, functionIndex=%lu%s, vtableOffset=%"SAL_PRIdINT32"\n", << OUString(type->aBase.pTypeName) << "::" << OUString(member->pTypeName) << "): ["
(exec == privateSnippetExecutorGeneral ? "General" : << (functionIndex & ~0x80000000) << ((functionIndex & 0x80000000) ? "|0x80000000":"") << "," << vtableOffset << ","
(exec == privateSnippetExecutorVoid ? "Void" : << (exec == privateSnippetExecutorGeneral ? "General" :
(exec == privateSnippetExecutorHyper ? "Hyper" : (exec == privateSnippetExecutorVoid ? "Void" :
(exec == privateSnippetExecutorFloat ? "Float" : (exec == privateSnippetExecutorHyper ? "Hyper" :
(exec == privateSnippetExecutorDouble ? "Double" : (exec == privateSnippetExecutorFloat ? "Float" :
(exec == privateSnippetExecutorClass ? "Class" : (exec == privateSnippetExecutorDouble ? "Double" :
"???")))))), (exec == privateSnippetExecutorClass ? "Class" :
(functionIndex & ~0x80000000), (functionIndex & 0x80000000) ? "|0x80000000":"", vtableOffset); "???"))))))
#endif << "]=" << (void *)(code + codeSnippetSize) );
return code + codeSnippetSize; return code + codeSnippetSize;
} }
...@@ -484,6 +487,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( ...@@ -484,6 +487,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
// Getter: // Getter:
(s++)->fn = code; (s++)->fn = code;
code = codeSnippet( code = codeSnippet(
type, member,
code, functionOffset++, vtableOffset, code, functionOffset++, vtableOffset,
reinterpret_cast< typelib_InterfaceAttributeTypeDescription * >( reinterpret_cast< typelib_InterfaceAttributeTypeDescription * >(
member)->pAttributeTypeRef); member)->pAttributeTypeRef);
...@@ -494,6 +498,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( ...@@ -494,6 +498,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
{ {
(s++)->fn = code; (s++)->fn = code;
code = codeSnippet( code = codeSnippet(
type, member,
code, functionOffset++, vtableOffset, code, functionOffset++, vtableOffset,
0 /* indicates VOID */); 0 /* indicates VOID */);
} }
...@@ -502,6 +507,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( ...@@ -502,6 +507,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
case typelib_TypeClass_INTERFACE_METHOD: case typelib_TypeClass_INTERFACE_METHOD:
(s++)->fn = code; (s++)->fn = code;
code = codeSnippet( code = codeSnippet(
type, member,
code, functionOffset++, vtableOffset, code, functionOffset++, vtableOffset,
reinterpret_cast< typelib_InterfaceMethodTypeDescription * >( reinterpret_cast< typelib_InterfaceMethodTypeDescription * >(
member)->pReturnTypeRef); member)->pReturnTypeRef);
......
...@@ -40,6 +40,12 @@ certain functionality. ...@@ -40,6 +40,12 @@ certain functionality.
@li @c basic @li @c basic
@li @c basic.sbx @li @c basic.sbx
@section bridges
@li @c bridges
@li @c bridges.ios
@li @c bridges.osx
@section canvas @section canvas
@li @c canvas @li @c canvas
...@@ -426,7 +432,6 @@ certain functionality. ...@@ -426,7 +432,6 @@ certain functionality.
@li @c avmedia @li @c avmedia
@li @c basebmp @li @c basebmp
@li @c binaryurp @li @c binaryurp
@li @c bridges
@li @c configmgr @li @c configmgr
@li @c cppcanvas @li @c cppcanvas
@li @c cppcanvas.emf @li @c cppcanvas.emf
......
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