summaryrefslogtreecommitdiff
path: root/bridges
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2013-12-23 21:12:05 +0200
committerTor Lillqvist <tml@collabora.com>2013-12-24 02:47:07 +0200
commit86a372ade0b7d416d4ff97a94ea350f56610da61 (patch)
tree9f2e576364760f1cc15bc5a72f7b742d840d607d /bridges
parenta5504e49dba07f7217ad3c0980d8c0f21f9f646c (diff)
More informative logging in codeSnippet()
Change-Id: I6909ed60b39a65e6a6464427b2f839aa2bff3863
Diffstat (limited to 'bridges')
-rw-r--r--bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx30
1 files changed, 18 insertions, 12 deletions
diff --git a/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
index 4fe5377f449b..52911af1243f 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
@@ -361,6 +361,8 @@ extern "C" typedef void (*PrivateSnippetExecutor)();
int const codeSnippetSize = 16;
unsigned char * codeSnippet(
+ const typelib_InterfaceTypeDescription *type,
+ const typelib_TypeDescription *member,
unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
typelib_TypeDescriptionReference * pReturnTypeRef)
{
@@ -427,18 +429,19 @@ unsigned char * codeSnippet(
= ((unsigned char *) exec) - p - sizeof (sal_Int32);
p += sizeof (sal_Int32);
OSL_ASSERT(p - code <= codeSnippetSize);
-#if OSL_DEBUG_LEVEL > 1
- fprintf(stderr,
- "==> codeSnippet to %s, functionIndex=%lu%s, vtableOffset=%"SAL_PRIdINT32"\n",
- (exec == privateSnippetExecutorGeneral ? "General" :
- (exec == privateSnippetExecutorVoid ? "Void" :
- (exec == privateSnippetExecutorHyper ? "Hyper" :
- (exec == privateSnippetExecutorFloat ? "Float" :
- (exec == privateSnippetExecutorDouble ? "Double" :
- (exec == privateSnippetExecutorClass ? "Class" :
- "???")))))),
- (functionIndex & ~0x80000000), (functionIndex & 0x80000000) ? "|0x80000000":"", vtableOffset);
-#endif
+
+ SAL_INFO( "bridges.osx", "codeSnippet("
+ << OUString(type->aBase.pTypeName) << "::" << OUString(member->pTypeName) << "): ["
+ << (functionIndex & ~0x80000000) << ((functionIndex & 0x80000000) ? "|0x80000000":"") << "," << vtableOffset << ","
+ << (exec == privateSnippetExecutorGeneral ? "General" :
+ (exec == privateSnippetExecutorVoid ? "Void" :
+ (exec == privateSnippetExecutorHyper ? "Hyper" :
+ (exec == privateSnippetExecutorFloat ? "Float" :
+ (exec == privateSnippetExecutorDouble ? "Double" :
+ (exec == privateSnippetExecutorClass ? "Class" :
+ "???"))))))
+ << "]=" << (void *)(code + codeSnippetSize) );
+
return code + codeSnippetSize;
}
@@ -484,6 +487,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
// Getter:
(s++)->fn = code;
code = codeSnippet(
+ type, member,
code, functionOffset++, vtableOffset,
reinterpret_cast< typelib_InterfaceAttributeTypeDescription * >(
member)->pAttributeTypeRef);
@@ -494,6 +498,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
{
(s++)->fn = code;
code = codeSnippet(
+ type, member,
code, functionOffset++, vtableOffset,
0 /* indicates VOID */);
}
@@ -502,6 +507,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
case typelib_TypeClass_INTERFACE_METHOD:
(s++)->fn = code;
code = codeSnippet(
+ type, member,
code, functionOffset++, vtableOffset,
reinterpret_cast< typelib_InterfaceMethodTypeDescription * >(
member)->pReturnTypeRef);