equal
deleted
inserted
replaced
72 #include "utilities/defaultStream.hpp" |
72 #include "utilities/defaultStream.hpp" |
73 #include "utilities/events.hpp" |
73 #include "utilities/events.hpp" |
74 #include "utilities/growableArray.hpp" |
74 #include "utilities/growableArray.hpp" |
75 #include "utilities/macros.hpp" |
75 #include "utilities/macros.hpp" |
76 #include "utilities/vmError.hpp" |
76 #include "utilities/vmError.hpp" |
|
77 #include "symbolengine.hpp" |
77 #include "windbghelp.hpp" |
78 #include "windbghelp.hpp" |
78 |
79 |
79 |
80 |
80 #ifdef _DEBUG |
81 #ifdef _DEBUG |
81 #include <crtdbg.h> |
82 #include <crtdbg.h> |
132 case DLL_PROCESS_ATTACH: |
133 case DLL_PROCESS_ATTACH: |
133 vm_lib_handle = hinst; |
134 vm_lib_handle = hinst; |
134 if (ForceTimeHighResolution) { |
135 if (ForceTimeHighResolution) { |
135 timeBeginPeriod(1L); |
136 timeBeginPeriod(1L); |
136 } |
137 } |
|
138 WindowsDbgHelp::pre_initialize(); |
|
139 SymbolEngine::pre_initialize(); |
137 break; |
140 break; |
138 case DLL_PROCESS_DETACH: |
141 case DLL_PROCESS_DETACH: |
139 if (ForceTimeHighResolution) { |
142 if (ForceTimeHighResolution) { |
140 timeEndPeriod(1L); |
143 timeEndPeriod(1L); |
141 } |
144 } |
1317 // in case of error it checks if .dll/.so was built for the |
1320 // in case of error it checks if .dll/.so was built for the |
1318 // same architecture as Hotspot is running on |
1321 // same architecture as Hotspot is running on |
1319 void * os::dll_load(const char *name, char *ebuf, int ebuflen) { |
1322 void * os::dll_load(const char *name, char *ebuf, int ebuflen) { |
1320 void * result = LoadLibrary(name); |
1323 void * result = LoadLibrary(name); |
1321 if (result != NULL) { |
1324 if (result != NULL) { |
|
1325 // Recalculate pdb search path if a DLL was loaded successfully. |
|
1326 SymbolEngine::recalc_search_path(); |
1322 return result; |
1327 return result; |
1323 } |
1328 } |
1324 |
1329 |
1325 DWORD errcode = GetLastError(); |
1330 DWORD errcode = GetLastError(); |
1326 if (errcode == ERROR_MOD_NOT_FOUND) { |
1331 if (errcode == ERROR_MOD_NOT_FOUND) { |
4030 |
4035 |
4031 if (initSock() != JNI_OK) { |
4036 if (initSock() != JNI_OK) { |
4032 return JNI_ERR; |
4037 return JNI_ERR; |
4033 } |
4038 } |
4034 |
4039 |
|
4040 SymbolEngine::recalc_search_path(); |
|
4041 |
4035 return JNI_OK; |
4042 return JNI_OK; |
4036 } |
4043 } |
4037 |
4044 |
4038 // Mark the polling page as unreadable |
4045 // Mark the polling page as unreadable |
4039 void os::make_polling_page_unreadable(void) { |
4046 void os::make_polling_page_unreadable(void) { |