Ignore:
Timestamp:
May 24, 2012, 2:14:07 PM (13 years ago)
Author:
[email protected]
Message:

Move cacheFlush from ExecutableAllocator to Assembler classes
https://bugs.webkit.org/show_bug.cgi?id=87420

Reviewed by Oliver Hunt.

Makes more sense there, & remove a pile of #ifdefs.

  • assembler/ARMAssembler.cpp:

(JSC):
(JSC::ARMAssembler::cacheFlush):

  • assembler/ARMAssembler.h:

(ARMAssembler):
(JSC::ARMAssembler::cacheFlush):

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::relinkJump):
(JSC::ARMv7Assembler::cacheFlush):
(ARMv7Assembler):
(JSC::ARMv7Assembler::setInt32):
(JSC::ARMv7Assembler::setUInt7ForLoad):

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::cacheFlush):

  • assembler/LinkBuffer.h:

(JSC::LinkBuffer::performFinalization):

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::relinkJump):
(JSC::MIPSAssembler::relinkCall):
(JSC::MIPSAssembler::repatchInt32):
(JSC::MIPSAssembler::cacheFlush):
(MIPSAssembler):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::repatchCompact):
(JSC::SH4Assembler::cacheFlush):
(SH4Assembler):

  • assembler/X86Assembler.h:

(X86Assembler):
(JSC::X86Assembler::cacheFlush):

  • jit/ExecutableAllocator.cpp:

(JSC):

  • jit/ExecutableAllocator.h:

(ExecutableAllocator):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/assembler/SH4Assembler.h

    r112192 r118413  
    14021402        ASSERT(value <= 60);
    14031403        *reinterpret_cast<uint16_t*>(where) = ((*reinterpret_cast<uint16_t*>(where) & 0xfff0) | (value >> 2));
    1404         ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(where), sizeof(uint16_t));
     1404        cacheFlush(reinterpret_cast<uint16_t*>(where), sizeof(uint16_t));
    14051405    }
    14061406
     
    15471547    }
    15481548
     1549    static void cacheFlush(void* code, size_t size)
     1550    {
     1551#if !OS(LINUX)
     1552#error "The cacheFlush support is missing on this platform."
     1553#elif defined CACHEFLUSH_D_L2
     1554        syscall(__NR_cacheflush, reinterpret_cast<unsigned>(code), size, CACHEFLUSH_D_WB | CACHEFLUSH_I | CACHEFLUSH_D_L2);
     1555#else
     1556        syscall(__NR_cacheflush, reinterpret_cast<unsigned>(code), size, CACHEFLUSH_D_WB | CACHEFLUSH_I);
     1557#endif
     1558    }
     1559
    15491560    void prefix(uint16_t pre)
    15501561    {
Note: See TracChangeset for help on using the changeset viewer.