We should strengthen the constraint in ExecutableAllocator::initializePageSize() such that we only use the moving memory model when compiling for Symbian OS on ARMv5 or lower architectures. Currently, we compile code that assumes the moving memory model for all ARMv5 or lower architectures. As per section Chunk in <http://library.forum.nokia.com/index.jsp?topic=/S60_5th_Edition_Cpp_Developers_Library/GUID-35228542-8C95-4849-A73F-2B4F082F0C44/sdk/doc_source/guide/Base-subsystem-guide/e32/MemoryManagement/MemoryAllocationOverview.guide.html>: [[ On ARM processors up to and including those that support the ARMv5 architecture, the memory model used by Symbian OS is the moving memory model. To guarantee real-time behaviour using this model, each process is limited to a maximum of 16 chunks.... On ARM processors that support the ARMv6 architecture, the memory model used by Symbian OS is the multiple memory model. Using this model, there is no limit on the number of chunks per process. ]]
Created attachment 79072 [details] Patch
Additional remarks: Prior to changeset 64105 <http://trac.webkit.org/changeset/64105> (bug #43009), the moving memory model code in ExecutableAllocator::initializePageSize() was behind an OS(SYMBIAN) guard when the code was in the file ExecutableAllocatorSymbian.cpp <http://trac.webkit.org/browser/trunk/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp?rev=64104#L25>. This file was removed in changeset 64105.
Committed r76068: <http://trac.webkit.org/changeset/76068>