[GHC] #12576: Large Address space is not supported on Windows (was: Large Address space is unenable-able on Windows.)

GHC ghc-devs at haskell.org
Wed Sep 7 16:51:01 UTC 2016


#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


More information about the ghc-tickets mailing list