mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 18:29:46 +00:00
MemoryBuffer: Use GetNativeSystemInfo()
Removes old 4096 byte workaround. This functionality has been available since Windows XP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209137 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b90ef82eb4
commit
c933013858
@ -310,15 +310,6 @@ static bool shouldUseMmap(int FD,
|
||||
if (End != FileSize)
|
||||
return false;
|
||||
|
||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
// Don't peek the next page if file is multiple of *physical* pagesize(4k)
|
||||
// but is not multiple of AllocationGranularity(64k),
|
||||
// when a null terminator is required.
|
||||
// FIXME: It's not good to hardcode 4096 here. dwPageSize shows 4096.
|
||||
if ((FileSize & (4096 - 1)) == 0)
|
||||
return false;
|
||||
#endif
|
||||
|
||||
// Don't try to map files that are exactly a multiple of the system page size
|
||||
// if we need a null terminator.
|
||||
if ((FileSize & (PageSize -1)) == 0)
|
||||
|
@ -82,16 +82,14 @@ TimeValue self_process::get_system_time() const {
|
||||
return getTimeValueFromFILETIME(KernelTime);
|
||||
}
|
||||
|
||||
// This function retrieves the page size using GetSystemInfo and is present
|
||||
// solely so it can be called once to initialize the self_process member below.
|
||||
// This function retrieves the page size using GetNativeSystemInfo() and is
|
||||
// present solely so it can be called once to initialize the self_process member
|
||||
// below.
|
||||
static unsigned getPageSize() {
|
||||
// NOTE: A 32-bit application running under WOW64 is supposed to use
|
||||
// GetNativeSystemInfo. However, this interface is not present prior
|
||||
// to Windows XP so to use it requires dynamic linking. It is not clear
|
||||
// how this affects the reported page size, if at all. One could argue
|
||||
// that LLVM ought to run as 64-bits on a 64-bit system, anyway.
|
||||
// GetNativeSystemInfo() provides the physical page size which may differ
|
||||
// from GetSystemInfo() in 32-bit applications running under WOW64.
|
||||
SYSTEM_INFO info;
|
||||
GetSystemInfo(&info);
|
||||
GetNativeSystemInfo(&info);
|
||||
// FIXME: FileOffset in MapViewOfFile() should be aligned to not dwPageSize,
|
||||
// but dwAllocationGranularity.
|
||||
return static_cast<unsigned>(info.dwPageSize);
|
||||
|
Loading…
Reference in New Issue
Block a user