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):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.