< prev index next >

src/os/windows/vm/os_windows.cpp

Print this page
rev 13549 : 8185712: [windows] Improve native symbol decoder
Reviewed-by: goetz, zgu

*** 72,81 **** --- 72,82 ---- #include "utilities/defaultStream.hpp" #include "utilities/events.hpp" #include "utilities/growableArray.hpp" #include "utilities/macros.hpp" #include "utilities/vmError.hpp" + #include "symbolengine.hpp" #include "windbghelp.hpp" #ifdef _DEBUG #include <crtdbg.h>
*** 132,141 **** --- 133,144 ---- case DLL_PROCESS_ATTACH: vm_lib_handle = hinst; if (ForceTimeHighResolution) { timeBeginPeriod(1L); } + WindowsDbgHelp::pre_initialize(); + SymbolEngine::pre_initialize(); break; case DLL_PROCESS_DETACH: if (ForceTimeHighResolution) { timeEndPeriod(1L); }
*** 1317,1326 **** --- 1320,1331 ---- // in case of error it checks if .dll/.so was built for the // same architecture as Hotspot is running on void * os::dll_load(const char *name, char *ebuf, int ebuflen) { void * result = LoadLibrary(name); if (result != NULL) { + // Recalculate pdb search path if a DLL was loaded successfully. + SymbolEngine::recalc_search_path(); return result; } DWORD errcode = GetLastError(); if (errcode == ERROR_MOD_NOT_FOUND) {
*** 4030,4039 **** --- 4035,4046 ---- if (initSock() != JNI_OK) { return JNI_ERR; } + SymbolEngine::recalc_search_path(); + return JNI_OK; } // Mark the polling page as unreadable void os::make_polling_page_unreadable(void) {
< prev index next >