Hello Simon,
the following still remains true:
another strange thing is what under win32 (and only win32) without
"+RTS -M" option we are restricted to 256 Mbytes of heap. see at this
code:
> if ( (base_non_committed == 0) || (next_request + size > end_non_committed)
> ) {
> if (base_non_committed) {
> /* Tacky, but if no user-provided -M option is in effect,
> * set it to the default (==256M) in time for the heap overflow PSA.
> */
> if (RtsFlags.GcFlags.maxHeapSize == 0) {
> RtsFlags.GcFlags.maxHeapSize = size_reserved_pool / BLOCK_SIZE;
> }
> heapOverflow();
> }
i think it must be:
> if ( (base_non_committed == 0) || (next_request + size > end_non_committed)
> ) {
> if (base_non_committed && RtsFlags.GcFlags.maxHeapSize) {
> heapOverflow();
> }
in order to allow programs without "+RTS -M" option allocate more than one
256 mbyte chunk
--
Best regards,
Bulat mailto:[EMAIL PROTECTED]
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc