< 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 >