Software Archive
Read-only legacy content
17061 Discussions

weird call stack

imays
Beginner
685 Views
During evaulating intel parallel studio, it shows weird call tree so I cannot figure out the performance bottlenecks.
Here's one example. CriticalSection::Lock never calls IsExistant and Alloc.



Of course, the pdb file is up-to-date. I completely disabled compiler optimization settings and the problem continues.
Any helps are welcomed. Thanks in advance.
0 Kudos
2 Replies
Vladimir_T_Intel
Moderator
685 Views
Is that possible that methods IsExistant and Alloc are located further in the call stack for CriticalSection::Lock? In some cases Amplifier can miss frames in a chain due to incomplete information.
Which compiler and version?
0 Kudos
imays
Beginner
685 Views
Is that possible that methods IsExistant and Alloc are located further in the call stack for CriticalSection::Lock? In some cases Amplifier can miss frames in a chain due to incomplete information.
Which compiler and version?

No. because of "CriticalSection.Lock() { EnterCriticalSection(&m_cs); }"
Build environments:
Windows Server 2008 x64
Visual Studio 2008 SP1(no modifications or C runtime library nor rebuilds)
Compiler settings: x64, DLL C runtime library, no optimizations, no inline function, NO omit frame buffer, no .net framework usage, NO Intel C++ compiler
By the way, class CriticalSection is wrapped by this pragma:

#pragma managed(push, off)

#pragma managed(pop)

(details: http://msdn.microsoft.com/en-us/library/0adb9zxe(VS.80).aspx)
0 Kudos
Reply