On Thu, Sep 14, 2017, at 02:23 AM, Henri Sivonen wrote:
> Do I understand correctly that this is an address space issue only and
> Windows doesn't actually physically map the pages belonging to the
> stack until they are written to? That is, do I understand correctly
> that there's no obstacle for growing the maximum stack size on 64-bit
> Windows to the kind of numbers that Mac and Linux already have?
> 
> Is there a reason why a larger stack size is OK on 32-bit Linux but
> wouldn't be OK on 32-bit Windows? (Seems kinda weird that both
> defaults would just happen to be exactly perfect even when they are so
> different.)

One notable difference is that by default the 32-bit Linux kernel
provides 3GB of usable address space to programs and reserves 1GB for
the kernel[1], but the 32-bit Windows kernel only provides 2GB of usable
address space, reserving the other 2GB for the kernel[2]. It's possible
to increase that to 3GB by changing a boot parameter, but I doubt that's
a common occurrence. On both operating systems 32-bit applications
running on a 64-bit kernel get access to a full 4GB of address space.

-Ted

1.
https://www.quora.com/Why-do-32-bit-Linux-kernels-only-recognize-3GB-of-RAM
2.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa366912(v=vs.85).aspx
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to