src/os/windows/vm/os_windows.hpp

Print this page
rev 2676 : finish merge with new style system dll function resolutions from 7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls


 156 #endif
 157 };
 158 
 159 class Kernel32Dll: AllStatic {
 160 public:
 161   static BOOL SwitchToThread();
 162   static SIZE_T GetLargePageMinimum();
 163 
 164   static BOOL SwitchToThreadAvailable();
 165   static BOOL GetLargePageMinimumAvailable();
 166 
 167   // Help tools
 168   static BOOL HelpToolsAvailable();
 169   static HANDLE CreateToolhelp32Snapshot(DWORD,DWORD);
 170   static BOOL Module32First(HANDLE,LPMODULEENTRY32);
 171   static BOOL Module32Next(HANDLE,LPMODULEENTRY32);
 172 
 173   static BOOL GetNativeSystemInfoAvailable();
 174   static void GetNativeSystemInfo(LPSYSTEM_INFO);
 175 






 176 private:
 177   // GetLargePageMinimum available on Windows Vista/Windows Server 2003
 178   // and later


 179   static SIZE_T (WINAPI *_GetLargePageMinimum)(void);



 180   static BOOL initialized;
 181 
 182   static void initialize();

 183 
 184 #ifdef JDK6_OR_EARLIER
 185 private:
 186   static BOOL (WINAPI *_SwitchToThread)(void);
 187   static HANDLE (WINAPI* _CreateToolhelp32Snapshot)(DWORD,DWORD);
 188   static BOOL (WINAPI* _Module32First)(HANDLE,LPMODULEENTRY32);
 189   static BOOL (WINAPI* _Module32Next)(HANDLE,LPMODULEENTRY32);
 190   static void (WINAPI *_GetNativeSystemInfo)(LPSYSTEM_INFO);
 191 #endif
 192 
 193 };
 194 
 195 class Advapi32Dll: AllStatic {
 196 public:
 197   static BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
 198   static BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE);
 199   static BOOL LookupPrivilegeValue(LPCTSTR, LPCTSTR, PLUID);
 200 
 201   static BOOL AdvapiAvailable();
 202 




 156 #endif
 157 };
 158 
 159 class Kernel32Dll: AllStatic {
 160 public:
 161   static BOOL SwitchToThread();
 162   static SIZE_T GetLargePageMinimum();
 163 
 164   static BOOL SwitchToThreadAvailable();
 165   static BOOL GetLargePageMinimumAvailable();
 166 
 167   // Help tools
 168   static BOOL HelpToolsAvailable();
 169   static HANDLE CreateToolhelp32Snapshot(DWORD,DWORD);
 170   static BOOL Module32First(HANDLE,LPMODULEENTRY32);
 171   static BOOL Module32Next(HANDLE,LPMODULEENTRY32);
 172 
 173   static BOOL GetNativeSystemInfoAvailable();
 174   static void GetNativeSystemInfo(LPSYSTEM_INFO);
 175 
 176   // NUMA calls
 177   static BOOL NumaCallsAvailable();
 178   static LPVOID VirtualAllocExNuma(HANDLE, LPVOID, SIZE_T, DWORD, DWORD, DWORD);
 179   static BOOL GetNumaHighestNodeNumber(PULONG);
 180   static BOOL GetNumaNodeProcessorMask(UCHAR, PULONGLONG);
 181   
 182 private:
 183   // GetLargePageMinimum available on Windows Vista/Windows Server 2003
 184   // and later
 185   // NUMA calls available Windows Vista/WS2008 and later
 186 
 187   static SIZE_T (WINAPI *_GetLargePageMinimum)(void);
 188   static LPVOID (WINAPI *_VirtualAllocExNuma) (HANDLE, LPVOID, SIZE_T, DWORD, DWORD, DWORD);
 189   static BOOL (WINAPI *_GetNumaHighestNodeNumber) (PULONG);
 190   static BOOL (WINAPI *_GetNumaNodeProcessorMask) (UCHAR, PULONGLONG);
 191   static BOOL initialized;
 192 
 193   static void initialize();
 194   static void initializeCommon();
 195 
 196 #ifdef JDK6_OR_EARLIER
 197 private:
 198   static BOOL (WINAPI *_SwitchToThread)(void);
 199   static HANDLE (WINAPI* _CreateToolhelp32Snapshot)(DWORD,DWORD);
 200   static BOOL (WINAPI* _Module32First)(HANDLE,LPMODULEENTRY32);
 201   static BOOL (WINAPI* _Module32Next)(HANDLE,LPMODULEENTRY32);
 202   static void (WINAPI *_GetNativeSystemInfo)(LPSYSTEM_INFO);
 203 #endif
 204 
 205 };
 206 
 207 class Advapi32Dll: AllStatic {
 208 public:
 209   static BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
 210   static BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE);
 211   static BOOL LookupPrivilegeValue(LPCTSTR, LPCTSTR, PLUID);
 212 
 213   static BOOL AdvapiAvailable();
 214