Changeset 215715 in webkit for trunk/Source/JavaScriptCore/runtime/SamplingProfiler.cpp
- Timestamp:
- Apr 24, 2017, 7:53:49 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/SamplingProfiler.cpp
r215671 r215715 49 49 #include <wtf/HashSet.h> 50 50 #include <wtf/RefPtr.h> 51 #include <wtf/StackTrace.h> 51 52 #include <wtf/text/StringBuilder.h> 52 53 #if OS(DARWIN) || OS(LINUX)54 #include <cxxabi.h>55 #include <dlfcn.h>56 #endif57 53 58 54 namespace JSC { … … 751 747 752 748 if (frameType == FrameType::Unknown || frameType == FrameType::C) { 753 #if OS(DARWIN) || OS(LINUX)749 #if HAVE(DLADDR) 754 750 if (frameType == FrameType::C) { 755 const char* mangledName = nullptr; 756 const char* cxaDemangled = nullptr; 757 Dl_info info; 758 if (dladdr(cCodePC, &info) && info.dli_sname) 759 mangledName = info.dli_sname; 760 if (mangledName) { 761 cxaDemangled = abi::__cxa_demangle(mangledName, 0, 0, 0); 762 return String(cxaDemangled ? cxaDemangled : mangledName); 763 } 751 auto demangled = WTF::StackTrace::demangle(cCodePC); 752 if (demangled) 753 return String(demangled->demangledName() ? demangled->demangledName() : demangled->mangledName()); 764 754 WTF::dataLog("couldn't get a name"); 765 755 }
Note:
See TracChangeset
for help on using the changeset viewer.