Changeset 184170 in webkit


Ignore:
Timestamp:
May 12, 2015 1:15:27 AM (9 years ago)
Author:
loki@webkit.org
Message:

Workaround for Cortex-A53 erratum 843419
https://bugs.webkit.org/show_bug.cgi?id=144680

Reviewed by Michael Saboff.

This patch is about to give simple workaround for Cortex-A53 erratum 843419.
It inserts nops after ADRP instruction to avoid wrong address accesses.

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::adrp):
(JSC::ARM64Assembler::nopCortexA53Fix843419):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r184153 r184170  
     12015-05-12  Gabor Loki  <loki@webkit.org>
     2
     3        Workaround for Cortex-A53 erratum 843419
     4        https://bugs.webkit.org/show_bug.cgi?id=144680
     5
     6        Reviewed by Michael Saboff.
     7
     8        This patch is about to give simple workaround for Cortex-A53 erratum 843419.
     9        It inserts nops after ADRP instruction to avoid wrong address accesses.
     10
     11        * assembler/ARM64Assembler.h:
     12        (JSC::ARM64Assembler::adrp):
     13        (JSC::ARM64Assembler::nopCortexA53Fix843419):
     14
    1152015-05-11  Commit Queue  <commit-queue@webkit.org>
    216
  • trunk/Source/JavaScriptCore/assembler/ARM64Assembler.h

    r182058 r184170  
    948948        ASSERT(!(offset & 0xfff));
    949949        insn(pcRelative(true, offset >> 12, rd));
     950        nopCortexA53Fix843419();
    950951    }
    951952
     
    36563657    }
    36573658
     3659    // Workaround for Cortex-A53 erratum (843419). Emit extra nops to avoid
     3660    // wrong address access after ADRP instruction.
     3661    ALWAYS_INLINE void nopCortexA53Fix843419()
     3662    {
     3663#if CPU(ARM64_CORTEXA53)
     3664        nop();
     3665        nop();
     3666        nop();
     3667#endif
     3668    }
     3669
    36583670    AssemblerBuffer m_buffer;
    36593671    Vector<LinkRecord, 0, UnsafeVectorOverflow> m_jumpsToLink;
Note: See TracChangeset for help on using the changeset viewer.