8144921: Remove JDK6_OR_EARLIER code from os_windows
Reviewed-by: dholmes, mseledtsov, gtriantafill
This commit is contained in:
parent
a39fa54251
commit
c7396ec06d
hotspot/src/os/windows/vm
@ -5529,8 +5529,6 @@ bool os::start_debugging(char *buf, int buflen) {
|
||||
return yes;
|
||||
}
|
||||
|
||||
#ifndef JDK6_OR_EARLIER
|
||||
|
||||
void os::Kernel32Dll::initialize() {
|
||||
initializeCommon();
|
||||
}
|
||||
@ -5705,261 +5703,6 @@ char* os::build_agent_function_name(const char *sym_name, const char *lib_name,
|
||||
return agent_entry_name;
|
||||
}
|
||||
|
||||
#else
|
||||
// Kernel32 API
|
||||
typedef BOOL (WINAPI* SwitchToThread_Fn)(void);
|
||||
typedef HANDLE (WINAPI* CreateToolhelp32Snapshot_Fn)(DWORD, DWORD);
|
||||
typedef BOOL (WINAPI* Module32First_Fn)(HANDLE, LPMODULEENTRY32);
|
||||
typedef BOOL (WINAPI* Module32Next_Fn)(HANDLE, LPMODULEENTRY32);
|
||||
typedef void (WINAPI* GetNativeSystemInfo_Fn)(LPSYSTEM_INFO);
|
||||
|
||||
SwitchToThread_Fn os::Kernel32Dll::_SwitchToThread = NULL;
|
||||
CreateToolhelp32Snapshot_Fn os::Kernel32Dll::_CreateToolhelp32Snapshot = NULL;
|
||||
Module32First_Fn os::Kernel32Dll::_Module32First = NULL;
|
||||
Module32Next_Fn os::Kernel32Dll::_Module32Next = NULL;
|
||||
GetNativeSystemInfo_Fn os::Kernel32Dll::_GetNativeSystemInfo = NULL;
|
||||
|
||||
void os::Kernel32Dll::initialize() {
|
||||
if (!initialized) {
|
||||
HMODULE handle = ::GetModuleHandle("Kernel32.dll");
|
||||
assert(handle != NULL, "Just check");
|
||||
|
||||
_SwitchToThread = (SwitchToThread_Fn)::GetProcAddress(handle, "SwitchToThread");
|
||||
_CreateToolhelp32Snapshot = (CreateToolhelp32Snapshot_Fn)
|
||||
::GetProcAddress(handle, "CreateToolhelp32Snapshot");
|
||||
_Module32First = (Module32First_Fn)::GetProcAddress(handle, "Module32First");
|
||||
_Module32Next = (Module32Next_Fn)::GetProcAddress(handle, "Module32Next");
|
||||
_GetNativeSystemInfo = (GetNativeSystemInfo_Fn)::GetProcAddress(handle, "GetNativeSystemInfo");
|
||||
initializeCommon(); // resolve the functions that always need resolving
|
||||
|
||||
initialized = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
BOOL os::Kernel32Dll::SwitchToThread() {
|
||||
assert(initialized && _SwitchToThread != NULL,
|
||||
"SwitchToThreadAvailable() not yet called");
|
||||
return _SwitchToThread();
|
||||
}
|
||||
|
||||
|
||||
BOOL os::Kernel32Dll::SwitchToThreadAvailable() {
|
||||
if (!initialized) {
|
||||
initialize();
|
||||
}
|
||||
return _SwitchToThread != NULL;
|
||||
}
|
||||
|
||||
// Help tools
|
||||
BOOL os::Kernel32Dll::HelpToolsAvailable() {
|
||||
if (!initialized) {
|
||||
initialize();
|
||||
}
|
||||
return _CreateToolhelp32Snapshot != NULL &&
|
||||
_Module32First != NULL &&
|
||||
_Module32Next != NULL;
|
||||
}
|
||||
|
||||
HANDLE os::Kernel32Dll::CreateToolhelp32Snapshot(DWORD dwFlags,
|
||||
DWORD th32ProcessId) {
|
||||
assert(initialized && _CreateToolhelp32Snapshot != NULL,
|
||||
"HelpToolsAvailable() not yet called");
|
||||
|
||||
return _CreateToolhelp32Snapshot(dwFlags, th32ProcessId);
|
||||
}
|
||||
|
||||
BOOL os::Kernel32Dll::Module32First(HANDLE hSnapshot,LPMODULEENTRY32 lpme) {
|
||||
assert(initialized && _Module32First != NULL,
|
||||
"HelpToolsAvailable() not yet called");
|
||||
|
||||
return _Module32First(hSnapshot, lpme);
|
||||
}
|
||||
|
||||
inline BOOL os::Kernel32Dll::Module32Next(HANDLE hSnapshot,
|
||||
LPMODULEENTRY32 lpme) {
|
||||
assert(initialized && _Module32Next != NULL,
|
||||
"HelpToolsAvailable() not yet called");
|
||||
|
||||
return _Module32Next(hSnapshot, lpme);
|
||||
}
|
||||
|
||||
|
||||
BOOL os::Kernel32Dll::GetNativeSystemInfoAvailable() {
|
||||
if (!initialized) {
|
||||
initialize();
|
||||
}
|
||||
return _GetNativeSystemInfo != NULL;
|
||||
}
|
||||
|
||||
void os::Kernel32Dll::GetNativeSystemInfo(LPSYSTEM_INFO lpSystemInfo) {
|
||||
assert(initialized && _GetNativeSystemInfo != NULL,
|
||||
"GetNativeSystemInfoAvailable() not yet called");
|
||||
|
||||
_GetNativeSystemInfo(lpSystemInfo);
|
||||
}
|
||||
|
||||
// PSAPI API
|
||||
|
||||
|
||||
typedef BOOL (WINAPI *EnumProcessModules_Fn)(HANDLE, HMODULE *, DWORD, LPDWORD);
|
||||
typedef BOOL (WINAPI *GetModuleFileNameEx_Fn)(HANDLE, HMODULE, LPTSTR, DWORD);
|
||||
typedef BOOL (WINAPI *GetModuleInformation_Fn)(HANDLE, HMODULE, LPMODULEINFO, DWORD);
|
||||
|
||||
EnumProcessModules_Fn os::PSApiDll::_EnumProcessModules = NULL;
|
||||
GetModuleFileNameEx_Fn os::PSApiDll::_GetModuleFileNameEx = NULL;
|
||||
GetModuleInformation_Fn os::PSApiDll::_GetModuleInformation = NULL;
|
||||
BOOL os::PSApiDll::initialized = FALSE;
|
||||
|
||||
void os::PSApiDll::initialize() {
|
||||
if (!initialized) {
|
||||
HMODULE handle = os::win32::load_Windows_dll("PSAPI.DLL", NULL, 0);
|
||||
if (handle != NULL) {
|
||||
_EnumProcessModules = (EnumProcessModules_Fn)::GetProcAddress(handle,
|
||||
"EnumProcessModules");
|
||||
_GetModuleFileNameEx = (GetModuleFileNameEx_Fn)::GetProcAddress(handle,
|
||||
"GetModuleFileNameExA");
|
||||
_GetModuleInformation = (GetModuleInformation_Fn)::GetProcAddress(handle,
|
||||
"GetModuleInformation");
|
||||
}
|
||||
initialized = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
BOOL os::PSApiDll::EnumProcessModules(HANDLE hProcess, HMODULE *lpModule,
|
||||
DWORD cb, LPDWORD lpcbNeeded) {
|
||||
assert(initialized && _EnumProcessModules != NULL,
|
||||
"PSApiAvailable() not yet called");
|
||||
return _EnumProcessModules(hProcess, lpModule, cb, lpcbNeeded);
|
||||
}
|
||||
|
||||
DWORD os::PSApiDll::GetModuleFileNameEx(HANDLE hProcess, HMODULE hModule,
|
||||
LPTSTR lpFilename, DWORD nSize) {
|
||||
assert(initialized && _GetModuleFileNameEx != NULL,
|
||||
"PSApiAvailable() not yet called");
|
||||
return _GetModuleFileNameEx(hProcess, hModule, lpFilename, nSize);
|
||||
}
|
||||
|
||||
BOOL os::PSApiDll::GetModuleInformation(HANDLE hProcess, HMODULE hModule,
|
||||
LPMODULEINFO lpmodinfo, DWORD cb) {
|
||||
assert(initialized && _GetModuleInformation != NULL,
|
||||
"PSApiAvailable() not yet called");
|
||||
return _GetModuleInformation(hProcess, hModule, lpmodinfo, cb);
|
||||
}
|
||||
|
||||
BOOL os::PSApiDll::PSApiAvailable() {
|
||||
if (!initialized) {
|
||||
initialize();
|
||||
}
|
||||
return _EnumProcessModules != NULL &&
|
||||
_GetModuleFileNameEx != NULL &&
|
||||
_GetModuleInformation != NULL;
|
||||
}
|
||||
|
||||
|
||||
// WinSock2 API
|
||||
typedef int (PASCAL FAR* WSAStartup_Fn)(WORD, LPWSADATA);
|
||||
typedef struct hostent *(PASCAL FAR *gethostbyname_Fn)(...);
|
||||
|
||||
WSAStartup_Fn os::WinSock2Dll::_WSAStartup = NULL;
|
||||
gethostbyname_Fn os::WinSock2Dll::_gethostbyname = NULL;
|
||||
BOOL os::WinSock2Dll::initialized = FALSE;
|
||||
|
||||
void os::WinSock2Dll::initialize() {
|
||||
if (!initialized) {
|
||||
HMODULE handle = os::win32::load_Windows_dll("ws2_32.dll", NULL, 0);
|
||||
if (handle != NULL) {
|
||||
_WSAStartup = (WSAStartup_Fn)::GetProcAddress(handle, "WSAStartup");
|
||||
_gethostbyname = (gethostbyname_Fn)::GetProcAddress(handle, "gethostbyname");
|
||||
}
|
||||
initialized = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BOOL os::WinSock2Dll::WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData) {
|
||||
assert(initialized && _WSAStartup != NULL,
|
||||
"WinSock2Available() not yet called");
|
||||
return _WSAStartup(wVersionRequested, lpWSAData);
|
||||
}
|
||||
|
||||
struct hostent* os::WinSock2Dll::gethostbyname(const char *name) {
|
||||
assert(initialized && _gethostbyname != NULL,
|
||||
"WinSock2Available() not yet called");
|
||||
return _gethostbyname(name);
|
||||
}
|
||||
|
||||
BOOL os::WinSock2Dll::WinSock2Available() {
|
||||
if (!initialized) {
|
||||
initialize();
|
||||
}
|
||||
return _WSAStartup != NULL &&
|
||||
_gethostbyname != NULL;
|
||||
}
|
||||
|
||||
typedef BOOL (WINAPI *AdjustTokenPrivileges_Fn)(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
|
||||
typedef BOOL (WINAPI *OpenProcessToken_Fn)(HANDLE, DWORD, PHANDLE);
|
||||
typedef BOOL (WINAPI *LookupPrivilegeValue_Fn)(LPCTSTR, LPCTSTR, PLUID);
|
||||
|
||||
AdjustTokenPrivileges_Fn os::Advapi32Dll::_AdjustTokenPrivileges = NULL;
|
||||
OpenProcessToken_Fn os::Advapi32Dll::_OpenProcessToken = NULL;
|
||||
LookupPrivilegeValue_Fn os::Advapi32Dll::_LookupPrivilegeValue = NULL;
|
||||
BOOL os::Advapi32Dll::initialized = FALSE;
|
||||
|
||||
void os::Advapi32Dll::initialize() {
|
||||
if (!initialized) {
|
||||
HMODULE handle = os::win32::load_Windows_dll("advapi32.dll", NULL, 0);
|
||||
if (handle != NULL) {
|
||||
_AdjustTokenPrivileges = (AdjustTokenPrivileges_Fn)::GetProcAddress(handle,
|
||||
"AdjustTokenPrivileges");
|
||||
_OpenProcessToken = (OpenProcessToken_Fn)::GetProcAddress(handle,
|
||||
"OpenProcessToken");
|
||||
_LookupPrivilegeValue = (LookupPrivilegeValue_Fn)::GetProcAddress(handle,
|
||||
"LookupPrivilegeValueA");
|
||||
}
|
||||
initialized = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
BOOL os::Advapi32Dll::AdjustTokenPrivileges(HANDLE TokenHandle,
|
||||
BOOL DisableAllPrivileges,
|
||||
PTOKEN_PRIVILEGES NewState,
|
||||
DWORD BufferLength,
|
||||
PTOKEN_PRIVILEGES PreviousState,
|
||||
PDWORD ReturnLength) {
|
||||
assert(initialized && _AdjustTokenPrivileges != NULL,
|
||||
"AdvapiAvailable() not yet called");
|
||||
return _AdjustTokenPrivileges(TokenHandle, DisableAllPrivileges, NewState,
|
||||
BufferLength, PreviousState, ReturnLength);
|
||||
}
|
||||
|
||||
BOOL os::Advapi32Dll::OpenProcessToken(HANDLE ProcessHandle,
|
||||
DWORD DesiredAccess,
|
||||
PHANDLE TokenHandle) {
|
||||
assert(initialized && _OpenProcessToken != NULL,
|
||||
"AdvapiAvailable() not yet called");
|
||||
return _OpenProcessToken(ProcessHandle, DesiredAccess, TokenHandle);
|
||||
}
|
||||
|
||||
BOOL os::Advapi32Dll::LookupPrivilegeValue(LPCTSTR lpSystemName,
|
||||
LPCTSTR lpName, PLUID lpLuid) {
|
||||
assert(initialized && _LookupPrivilegeValue != NULL,
|
||||
"AdvapiAvailable() not yet called");
|
||||
return _LookupPrivilegeValue(lpSystemName, lpName, lpLuid);
|
||||
}
|
||||
|
||||
BOOL os::Advapi32Dll::AdvapiAvailable() {
|
||||
if (!initialized) {
|
||||
initialize();
|
||||
}
|
||||
return _AdjustTokenPrivileges != NULL &&
|
||||
_OpenProcessToken != NULL &&
|
||||
_LookupPrivilegeValue != NULL;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef PRODUCT
|
||||
|
||||
// test the code path in reserve_memory_special() that tries to allocate memory in a single
|
||||
|
@ -183,26 +183,11 @@ class PlatformParker : public CHeapObj<mtInternal> {
|
||||
|
||||
} ;
|
||||
|
||||
// JDK7 requires VS2010
|
||||
#if _MSC_VER < 1600
|
||||
#define JDK6_OR_EARLIER 1
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
class WinSock2Dll: AllStatic {
|
||||
public:
|
||||
static BOOL WSAStartup(WORD, LPWSADATA);
|
||||
static struct hostent* gethostbyname(const char *name);
|
||||
static BOOL WinSock2Available();
|
||||
#ifdef JDK6_OR_EARLIER
|
||||
private:
|
||||
static int (PASCAL FAR* _WSAStartup)(WORD, LPWSADATA);
|
||||
static struct hostent *(PASCAL FAR *_gethostbyname)(...);
|
||||
static BOOL initialized;
|
||||
|
||||
static void initialize();
|
||||
#endif
|
||||
};
|
||||
|
||||
class Kernel32Dll: AllStatic {
|
||||
@ -244,16 +229,6 @@ private:
|
||||
|
||||
static void initialize();
|
||||
static void initializeCommon();
|
||||
|
||||
#ifdef JDK6_OR_EARLIER
|
||||
private:
|
||||
static BOOL (WINAPI *_SwitchToThread)(void);
|
||||
static HANDLE (WINAPI* _CreateToolhelp32Snapshot)(DWORD,DWORD);
|
||||
static BOOL (WINAPI* _Module32First)(HANDLE,LPMODULEENTRY32);
|
||||
static BOOL (WINAPI* _Module32Next)(HANDLE,LPMODULEENTRY32);
|
||||
static void (WINAPI *_GetNativeSystemInfo)(LPSYSTEM_INFO);
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
class Advapi32Dll: AllStatic {
|
||||
@ -263,16 +238,6 @@ public:
|
||||
static BOOL LookupPrivilegeValue(LPCTSTR, LPCTSTR, PLUID);
|
||||
|
||||
static BOOL AdvapiAvailable();
|
||||
|
||||
#ifdef JDK6_OR_EARLIER
|
||||
private:
|
||||
static BOOL (WINAPI *_AdjustTokenPrivileges)(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
|
||||
static BOOL (WINAPI *_OpenProcessToken)(HANDLE, DWORD, PHANDLE);
|
||||
static BOOL (WINAPI *_LookupPrivilegeValue)(LPCTSTR, LPCTSTR, PLUID);
|
||||
static BOOL initialized;
|
||||
|
||||
static void initialize();
|
||||
#endif
|
||||
};
|
||||
|
||||
class PSApiDll: AllStatic {
|
||||
@ -282,16 +247,6 @@ public:
|
||||
static BOOL GetModuleInformation(HANDLE, HMODULE, LPMODULEINFO, DWORD);
|
||||
|
||||
static BOOL PSApiAvailable();
|
||||
|
||||
#ifdef JDK6_OR_EARLIER
|
||||
private:
|
||||
static BOOL (WINAPI *_EnumProcessModules)(HANDLE, HMODULE *, DWORD, LPDWORD);
|
||||
static BOOL (WINAPI *_GetModuleFileNameEx)(HANDLE, HMODULE, LPTSTR, DWORD);;
|
||||
static BOOL (WINAPI *_GetModuleInformation)(HANDLE, HMODULE, LPMODULEINFO, DWORD);
|
||||
static BOOL initialized;
|
||||
|
||||
static void initialize();
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif // OS_WINDOWS_VM_OS_WINDOWS_HPP
|
||||
|
Loading…
x
Reference in New Issue
Block a user