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