Changeset 69135 in webkit


Ignore:
Timestamp:
Oct 5, 2010 12:14:06 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2010-10-05 Kwang Yul Seo <skyul@company100.net>

Reviewed by Gavin Barraclough.

[BREWMP] Port ExecutableAllocator::cacheFlush to enable ARM JIT
https://bugs.webkit.org/show_bug.cgi?id=47117

Use IMemCache1 to flush data cache and invalidate instruction cache.

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

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r69132 r69135  
     12010-10-05  Kwang Yul Seo  <skyul@company100.net>
     2
     3        Reviewed by Gavin Barraclough.
     4
     5        [BREWMP] Port ExecutableAllocator::cacheFlush to enable ARM JIT
     6        https://bugs.webkit.org/show_bug.cgi?id=47117
     7
     8        Use IMemCache1 to flush data cache and invalidate instruction cache.
     9
     10        * jit/ExecutableAllocator.h:
     11        (JSC::ExecutableAllocator::cacheFlush):
     12
    1132010-10-05  Leandro Pereira  <leandro@profusion.mobi>
    214
  • trunk/JavaScriptCore/jit/ExecutableAllocator.h

    r67130 r69135  
    5454#endif
    5555
     56#if PLATFORM(BREWMP)
     57#include <AEEIMemCache1.h>
     58#include <AEEMemCache1.bid>
     59#include <wtf/brew/RefPtrBrew.h>
     60#endif
     61
    5662#define JIT_ALLOCATOR_PAGE_SIZE (ExecutableAllocator::pageSize)
    5763#define JIT_ALLOCATOR_LARGE_ALLOC_SIZE (ExecutableAllocator::pageSize * 4)
     
    295301        CacheRangeFlush(code, size, CACHE_SYNC_ALL);
    296302    }
     303#elif PLATFORM(BREWMP)
     304    static void cacheFlush(void* code, size_t size)
     305    {
     306        PlatformRefPtr<IMemCache1> memCache = createRefPtrInstance<IMemCache1>(AEECLSID_MemCache1);
     307        IMemCache1_ClearCache(memCache.get(), reinterpret_cast<uint32>(code), size, MEMSPACE_CACHE_FLUSH, MEMSPACE_DATACACHE);
     308        IMemCache1_ClearCache(memCache.get(), reinterpret_cast<uint32>(code), size, MEMSPACE_CACHE_INVALIDATE, MEMSPACE_INSTCACHE);
     309    }
    297310#else
    298311    #error "The cacheFlush support is missing on this platform."
Note: See TracChangeset for help on using the changeset viewer.