Title: [184192] releases/WebKitGTK/webkit-2.8/Source/_javascript_Core
- Revision
- 184192
- Author
- [email protected]
- Date
- 2015-05-12 02:36:13 -0700 (Tue, 12 May 2015)
Log Message
Merge r184170 - 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):
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ChangeLog (184191 => 184192)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ChangeLog 2015-05-12 09:35:22 UTC (rev 184191)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ChangeLog 2015-05-12 09:36:13 UTC (rev 184192)
@@ -1,3 +1,17 @@
+2015-05-12 Gabor Loki <[email protected]>
+
+ 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):
+
2015-04-29 Mark Lam <[email protected]>
Safari WebKit crash when loading Google Spreadsheet.
Modified: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/assembler/ARM64Assembler.h (184191 => 184192)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/assembler/ARM64Assembler.h 2015-05-12 09:35:22 UTC (rev 184191)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/assembler/ARM64Assembler.h 2015-05-12 09:36:13 UTC (rev 184192)
@@ -947,6 +947,7 @@
{
ASSERT(!(offset & 0xfff));
insn(pcRelative(true, offset >> 12, rd));
+ nopCortexA53Fix843419();
}
template<int datasize, SetFlags setFlags = DontSetFlags>
@@ -3655,6 +3656,17 @@
#endif
}
+ // Workaround for Cortex-A53 erratum (843419). Emit extra nops to avoid
+ // wrong address access after ADRP instruction.
+ ALWAYS_INLINE void nopCortexA53Fix843419()
+ {
+#if CPU(ARM64_CORTEXA53)
+ nop();
+ nop();
+ nop();
+#endif
+ }
+
AssemblerBuffer m_buffer;
Vector<LinkRecord, 0, UnsafeVectorOverflow> m_jumpsToLink;
int m_indexOfLastWatchpoint;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes