src/share/vm/utilities/decoder.hpp

changeset 3156
f08d439fab8c
parent 2364
2d4762ec74af
child 3430
d7e3846464d0
equal deleted inserted replaced
3155:eda6988c0d81 3156:f08d439fab8c
35 // functions needed for decoding symbols 35 // functions needed for decoding symbols
36 typedef DWORD (WINAPI *pfn_SymSetOptions)(DWORD); 36 typedef DWORD (WINAPI *pfn_SymSetOptions)(DWORD);
37 typedef BOOL (WINAPI *pfn_SymInitialize)(HANDLE, PCTSTR, BOOL); 37 typedef BOOL (WINAPI *pfn_SymInitialize)(HANDLE, PCTSTR, BOOL);
38 typedef BOOL (WINAPI *pfn_SymGetSymFromAddr64)(HANDLE, DWORD64, PDWORD64, PIMAGEHLP_SYMBOL64); 38 typedef BOOL (WINAPI *pfn_SymGetSymFromAddr64)(HANDLE, DWORD64, PDWORD64, PIMAGEHLP_SYMBOL64);
39 typedef DWORD (WINAPI *pfn_UndecorateSymbolName)(const char*, char*, DWORD, DWORD); 39 typedef DWORD (WINAPI *pfn_UndecorateSymbolName)(const char*, char*, DWORD, DWORD);
40
41 #elif defined(__APPLE__)
40 42
41 #else 43 #else
42 44
43 class ElfFile; 45 class ElfFile;
44 46
77 79
78 static bool demangle(const char* symbol, char *buf, int buflen); 80 static bool demangle(const char* symbol, char *buf, int buflen);
79 81
80 static decoder_status get_status() { return _decoder_status; }; 82 static decoder_status get_status() { return _decoder_status; };
81 83
82 #ifndef _WINDOWS 84 #if !defined(_WINDOWS) && !defined(__APPLE__)
83 private: 85 private:
84 static ElfFile* get_elf_file(const char* filepath); 86 static ElfFile* get_elf_file(const char* filepath);
85 #endif // _WINDOWS 87 #endif // _WINDOWS
86 88
87 89
92 #ifdef _WINDOWS 94 #ifdef _WINDOWS
93 static HMODULE _dbghelp_handle; 95 static HMODULE _dbghelp_handle;
94 static bool _can_decode_in_vm; 96 static bool _can_decode_in_vm;
95 static pfn_SymGetSymFromAddr64 _pfnSymGetSymFromAddr64; 97 static pfn_SymGetSymFromAddr64 _pfnSymGetSymFromAddr64;
96 static pfn_UndecorateSymbolName _pfnUndecorateSymbolName; 98 static pfn_UndecorateSymbolName _pfnUndecorateSymbolName;
99 #elif __APPLE__
97 #else 100 #else
98 static ElfFile* _opened_elf_files; 101 static ElfFile* _opened_elf_files;
99 #endif // _WINDOWS 102 #endif // _WINDOWS
100 }; 103 };
101 104

mercurial