Changeset 48702 in webkit for trunk/JavaScriptCore


Ignore:
Timestamp:
Sep 23, 2009, 11:10:59 PM (16 years ago)
Author:
[email protected]
Message:

2009-09-24 Gabor Loki <[email protected]>

Reviewed by Gavin Barraclough.

Avoid clear_cache built-in function if DISABLE_BUILTIN_CLEAR_CACHE define is set
https://bugs.webkit.org/show_bug.cgi?id=28886

There are some GCC packages (for example GCC-2006q3 from CodeSourcery)
which contain clear_cache built-in function only for C while the C++
version of
clear_cache is missing on ARM architectures.

Fixed a small bug in the inline assembly of cacheFlush function on
ARM_TRADITIONAL.

  • jit/ExecutableAllocator.h: (JSC::ExecutableAllocator::cacheFlush):
Location:
trunk/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r48701 r48702  
     12009-09-24  Gabor Loki  <[email protected]>
     2
     3        Reviewed by Gavin Barraclough.
     4
     5        Avoid __clear_cache built-in function if DISABLE_BUILTIN_CLEAR_CACHE define is set
     6        https://bugs.webkit.org/show_bug.cgi?id=28886
     7
     8        There are some GCC packages (for example GCC-2006q3 from CodeSourcery)
     9        which contain __clear_cache built-in function only for C while the C++
     10        version of __clear_cache is missing on ARM architectures.
     11
     12        Fixed a small bug in the inline assembly of cacheFlush function on
     13        ARM_TRADITIONAL.
     14
     15        * jit/ExecutableAllocator.h:
     16        (JSC::ExecutableAllocator::cacheFlush):
     17
    1182009-09-23  Geoffrey Garen  <[email protected]>
    219
  • trunk/JavaScriptCore/jit/ExecutableAllocator.h

    r48527 r48702  
    192192        User::IMB_Range(code, static_cast<char*>(code) + size);
    193193    }
    194 #elif PLATFORM(ARM) && COMPILER(GCC) && (GCC_VERSION >= 30406)
     194#elif PLATFORM(ARM) && COMPILER(GCC) && (GCC_VERSION >= 30406) && !defined(DISABLE_BUILTIN_CLEAR_CACHE)
    195195    static void cacheFlush(void* code, size_t size)
    196196    {
     
    204204            "mov     r0, %0\n"
    205205            "mov     r1, %1\n"
    206             "mov     r7, 0xf0002\n"
     206            "mov     r7, #0xf0000\n"
     207            "add     r7, r7, #0x2\n"
    207208            "mov     r2, #0x0\n"
    208209            "svc     0x0\n"
Note: See TracChangeset for help on using the changeset viewer.