src/hotspot/os/windows/os_windows.cpp
changeset 47666 19219ec3f176
parent 47552 8a3599d60996
child 47765 b7c7428eaab9
equal deleted inserted replaced
47665:74805fccc6ae 47666:19219ec3f176
    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) {