Bug 33138 - ExecutableAllocatorSymbian appears to have buggy ARM version check
Summary: ExecutableAllocatorSymbian appears to have buggy ARM version check
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other S60 3rd edition
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-04 01:19 PST by Maciej Stachowiak
Modified: 2010-01-04 03:45 PST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Maciej Stachowiak 2010-01-04 01:19:05 PST
ExecutableAllocatorSymbian has this code:

#if PLATFORM_ARM_ARCH(5)
    // The moving memory model (as used in ARMv5 and earlier platforms)                                      
    // on Symbian OS limits the number of chunks for each process to 16.                                     
    // To mitigate this limitation increase the pagesize to                                                  
    // allocate less of larger chunks.                                                                       
    ExecutableAllocator::pageSize = MOVING_MEM_PAGE_SIZE;
#else
    TInt page_size;
    UserHal::PageSizeInBytes(page_size);
    ExecutableAllocator::pageSize = page_size;
#endif

But PLATFORM_ARM_ARCH(5) checks for ARM achitecture greater than or equal to 5, not less than or equal to 5. I believe what is intended is this:

#if PLATFORM_ARM_ARCH(6)
    TInt page_size;
    UserHal::PageSizeInBytes(page_size);
    ExecutableAllocator::pageSize = page_size;
#else
    // The moving memory model (as used in ARMv5 and earlier platforms)                                      
    // on Symbian OS limits the number of chunks for each process to 16.                                     
    // To mitigate this limitation increase the pagesize to                                                  
    // allocate less of larger chunks.                                                                       
    ExecutableAllocator::pageSize = MOVING_MEM_PAGE_SIZE;
#endif
Comment 1 Maciej Stachowiak 2010-01-04 03:45:27 PST
I fixed this in r52729.