From: Wesley W. T. <we...@te...> - 2009-12-14 10:51:15
|
On Mon, Dec 14, 2009 at 6:53 PM, Matthew Fluet <mat...@gm...> wrote: > I was thinking about the 32-bit case, in which case fragmenting the 4G > VM isn't terribly difficult. Ok, then let me address your original comment again: > But, the Windows specific mremap could still fail --- note that the > growHeap function demands significant growth from mremap. If that > fails, then it attempts the alloc/copy, but allowing for an alloc of a > heap down to the minimum size. This sounds like a bad idea, then. The problem applies equally to all platforms (even linux). So, to be clear, we're talking about this situation: memory is available for the minimum size that memory is NOT large enough to accommodate "significant growth" the memory region contains the current mapping Under this case, AFAICT, every system fails to grow the heap, though it should succeed. Both windows and linux would've been fine if the GC had attempted to use mremap backed off to a lower value. I submit that this is a bug which should be fixed. |