diff options
author | Igor Oblakov <ioblakov@dev.rtsoft.ru> | 2018-03-26 14:58:28 +0300 |
---|---|---|
committer | Igor Oblakov <ioblakov@dev.rtsoft.ru> | 2018-03-26 14:58:28 +0300 |
commit | 3a20c00dc12565757d07ce8cb3bc927c9e804679 (patch) | |
tree | c804d33e0aea664a57b269c2898fda874924af54 | |
parent | 5acc792e83bc310719770d015069eb718c4d667f (diff) | |
download | heaptrack-3a20c00dc12565757d07ce8cb3bc927c9e804679.tar.gz heaptrack-3a20c00dc12565757d07ce8cb3bc927c9e804679.tar.bz2 heaptrack-3a20c00dc12565757d07ce8cb3bc927c9e804679.zip |
Fix heaptrack i686 target problem
-rw-r--r-- | profiler/profiler/src/profiler.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/profiler/profiler/src/profiler.cpp b/profiler/profiler/src/profiler.cpp index 379a042..0867d30 100644 --- a/profiler/profiler/src/profiler.cpp +++ b/profiler/profiler/src/profiler.cpp @@ -33,6 +33,14 @@ const CLSID CLSID_Profiler = { 0x4C0B, {0xB3, 0x54, 0x56, 0x63, 0x90, 0xB2, 0x15, 0xCA}}; +#ifdef __i686__ +#define ELT_PARAMETER +#define SetupHooks SetEnterLeaveFunctionHooks3 +#else // __i686__ +#define ELT_PARAMETER , COR_PRF_ELT_INFO eltInfo +#define SetupHooks SetEnterLeaveFunctionHooks3WithInfo +#endif // __i686__ + extern "C" { #ifdef __llvm__ __attribute__((used)) @@ -284,8 +292,7 @@ void encodeWChar(WCHAR *orig, char *encoded) { encoded[i] = 0; } -void __stdcall OnFunctionEnter(FunctionIDOrClientID functionID, - COR_PRF_ELT_INFO eltInfo) { +void __stdcall OnFunctionEnter(FunctionIDOrClientID functionID ELT_PARAMETER) { ICorProfilerInfo3 *info; HRESULT hr = g_pICorProfilerInfoUnknown->QueryInterface(IID_ICorProfilerInfo3, (void **)&info); @@ -313,8 +320,8 @@ void __stdcall OnFunctionEnter(FunctionIDOrClientID functionID, info->Release(); } -void __stdcall OnFunctionLeave(FunctionIDOrClientID functionID, - COR_PRF_ELT_INFO eltInfo) { +void __stdcall OnFunctionLeave(FunctionIDOrClientID functionID + ELT_PARAMETER) { PopShadowStack(); } @@ -328,8 +335,7 @@ HRESULT STDMETHODCALLTYPE Profiler::Initialize(IUnknown *pICorProfilerInfoUnk) { COR_PRF_ENABLE_FUNCTION_RETVAL | COR_PRF_ENABLE_FRAME_INFO | COR_PRF_ENABLE_STACK_SNAPSHOT | COR_PRF_MONITOR_CLASS_LOADS | COR_PRF_ENABLE_OBJECT_ALLOCATED | COR_PRF_MONITOR_OBJECT_ALLOCATED | COR_PRF_MONITOR_GC); - info->SetEnterLeaveFunctionHooks3WithInfo(OnFunctionEnter, OnFunctionLeave, - NULL); + info->SetupHooks(OnFunctionEnter, OnFunctionLeave, NULL); info->Release(); info = NULL; } |