As a security precaution, we have turned on the setting "Require API key authentication for API requests" for everyone. If this has broken something, please contact
Last Comment Bug 513409 - GC arena allocation uses VirtualAlloc with 16 KiB allocations on x86/Win32
: GC arena allocation uses VirtualAlloc with 16 KiB allocations on x86/Win32
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: x86 Windows XP
: -- normal (vote)
: ---
Assigned To: general
: Jason Orendorff [:jorendorff]
Depends on:
  Show dependency treegraph
Reported: 2009-08-28 19:23 PDT by Chad Austin
Modified: 2011-10-20 09:27 PDT (History)
9 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Description User image Chad Austin 2009-08-28 19:23:40 PDT
On 32-bit Windows the GC arena allocation code (jsgc.cpp) uses VirtualAlloc to allocate 16 KiB buffers.  However, VirtualAlloc has a 64K allocation granularity so you can only use 1/4 of your available address space for GC arenas.

I propose changing the "4" to "16" on line 1283 in jsgc.cpp:
Comment 1 User image Brendan Eich [:brendan] 2009-08-28 20:59:49 PDT
Bug 508707 is the real fix, but this would be a good spot-fix for the 1.9 branch branch.

Comment 2 User image Brendan Eich [:brendan] 2010-03-11 10:29:01 PST
We have 64K (16 << 12) now. Igor, Gregor: is this bug fixed?

Comment 3 User image Terrence Cole [:terrence] 2011-10-20 09:27:48 PDT
Arenas no longer allocate, so this is certainly fixed.  Currently, the only allocation the GC makes is chunks -- 1MiB at a time on 1MiB aligned addresses.

Note You need to log in before you can comment on or make changes to this bug.