
#12576: Large Address space is not supported on Windows ----------------------------------+---------------------------------------- Reporter: Phyx- | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: newcomer Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #12573 #12495 | Differential Rev(s): Wiki Page: | ----------------------------------+---------------------------------------- Description changed by Phyx-: @@ -1,3 +1,2 @@ - Autoconf file changes have made it impossible to enable - `USE_LARGE_ADDRESS_SPACE` for Windows, as the `--enable-large-address- - space` flag is only respected on Darwin. + `USE_LARGE_ADDRESS_SPACE` is disabled for Windows, as the `--enable-large- + address-space` flag is only respected on Darwin. @@ -8,0 +7,11 @@ + + The reason for it being disabled is described in the configure.ac file: + + ``` + Windows has VirtualAlloc MEM_RESERVE/MEM_COMMIT, however + it counts page-table space as committed memory, and so quickly + runs out of paging file when we have multiple processes reserving + 1TB of address space, we get the following error: + VirtualAlloc MEM_RESERVE 1099512676352 bytes failed: The paging file + is too small for this operation to complete. + ``` New description: `USE_LARGE_ADDRESS_SPACE` is disabled for Windows, as the `--enable-large- address-space` flag is only respected on Darwin. The general case now depends on the presence of MADV_FREE to enable large address space support. Which means all possibility of enabling this feature on Windows have been removed. The reason for it being disabled is described in the configure.ac file: ``` Windows has VirtualAlloc MEM_RESERVE/MEM_COMMIT, however it counts page-table space as committed memory, and so quickly runs out of paging file when we have multiple processes reserving 1TB of address space, we get the following error: VirtualAlloc MEM_RESERVE 1099512676352 bytes failed: The paging file is too small for this operation to complete. ``` -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12576#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler