Changeset 157500 in webkit


Ignore:
Timestamp:
Oct 16, 2013 1:40:51 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

Remove more of the UNINTERRUPTED_SEQUENCE thing
https://bugs.webkit.org/show_bug.cgi?id=122885

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-16
Reviewed by Andreas Kling.

It was not completely removed by r157481, leading to build failure for sh4 architecture.

  • jit/JIT.h:
  • jit/JITInlines.h:
Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r157489 r157500  
     12013-10-16  Julien Brianceau  <jbriance@cisco.com>
     2
     3        Remove more of the UNINTERRUPTED_SEQUENCE thing
     4        https://bugs.webkit.org/show_bug.cgi?id=122885
     5
     6        Reviewed by Andreas Kling.
     7
     8        It was not completely removed by r157481, leading to build failure for sh4 architecture.
     9
     10        * jit/JIT.h:
     11        * jit/JITInlines.h:
     12
    1132013-10-15  Filip Pizlo  <fpizlo@apple.com>
    214
  • trunk/Source/JavaScriptCore/jit/JIT.h

    r157481 r157500  
    908908        unsigned m_jumpTargetsPosition;
    909909
    910 #ifndef NDEBUG
    911 #if defined(ASSEMBLER_HAS_CONSTANT_POOL) && ASSEMBLER_HAS_CONSTANT_POOL
    912         Label m_uninterruptedInstructionSequenceBegin;
    913         int m_uninterruptedConstantSequenceBegin;
    914 #endif
    915 #endif
    916910        OwnPtr<JITDisassembler> m_disassembler;
    917911        RefPtr<Profiler::Compilation> m_compilation;
  • trunk/Source/JavaScriptCore/jit/JITInlines.h

    r157480 r157500  
    117117}
    118118
    119 #if defined(ASSEMBLER_HAS_CONSTANT_POOL) && ASSEMBLER_HAS_CONSTANT_POOL
    120 
    121 ALWAYS_INLINE void JIT::beginUninterruptedSequence(int insnSpace, int constSpace)
    122 {
    123 #if CPU(ARM_TRADITIONAL)
    124 #ifndef NDEBUG
    125     // Ensure the label after the sequence can also fit
    126     insnSpace += sizeof(ARMWord);
    127     constSpace += sizeof(uint64_t);
    128 #endif
    129 
    130     ensureSpace(insnSpace, constSpace);
    131 
    132 #elif CPU(SH4)
    133 #ifndef NDEBUG
    134     insnSpace += sizeof(SH4Word);
    135     constSpace += sizeof(uint64_t);
    136 #endif
    137 
    138     m_assembler.ensureSpace(insnSpace + m_assembler.maxInstructionSize + 2, constSpace + 8);
    139 #endif
    140 
    141 #ifndef NDEBUG
    142     m_uninterruptedInstructionSequenceBegin = label();
    143     m_uninterruptedConstantSequenceBegin = sizeOfConstantPool();
    144 #endif
    145 }
    146 
    147 ALWAYS_INLINE void JIT::endUninterruptedSequence(int insnSpace, int constSpace, int dst)
    148 {
    149 #ifndef NDEBUG
    150     /* There are several cases when the uninterrupted sequence is larger than
    151      * maximum required offset for pathing the same sequence. Eg.: if in a
    152      * uninterrupted sequence the last macroassembler's instruction is a stub
    153      * call, it emits store instruction(s) which should not be included in the
    154      * calculation of length of uninterrupted sequence. So, the insnSpace and
    155      * constSpace should be upper limit instead of hard limit.
    156      */
    157 
    158 #if CPU(SH4)
    159     if ((dst > 15) || (dst < -16)) {
    160         insnSpace += 8;
    161         constSpace += 2;
    162     }
    163 
    164     if (((dst >= -16) && (dst < 0)) || ((dst > 7) && (dst <= 15)))
    165         insnSpace += 8;
    166 #else
    167     UNUSED_PARAM(dst);
    168 #endif
    169 
    170     ASSERT(differenceBetween(m_uninterruptedInstructionSequenceBegin, label()) <= insnSpace);
    171     ASSERT(sizeOfConstantPool() - m_uninterruptedConstantSequenceBegin <= constSpace);
    172 #else
    173     UNUSED_PARAM(insnSpace);
    174     UNUSED_PARAM(constSpace);
    175     UNUSED_PARAM(dst);
    176 #endif
    177 }
    178 
    179 #endif // ASSEMBLER_HAS_CONSTANT_POOL
    180 
    181119ALWAYS_INLINE void JIT::updateTopCallFrame()
    182120{
Note: See TracChangeset for help on using the changeset viewer.