Title: [231009] trunk
- Revision
- 231009
- Author
- ross.kirsl...@sony.com
- Date
- 2018-04-25 12:35:00 -0700 (Wed, 25 Apr 2018)
Log Message
[WinCairo] Fix js/regexp-unicode.html crash.
https://bugs.webkit.org/show_bug.cgi?id=184891
Reviewed by Yusuke Suzuki.
Source/_javascript_Core:
On Win64, register RDI is "considered nonvolatile and must be saved and restored by a function that uses [it]".
RDI is being used as a scratch register for JIT_UNICODE_EXPRESSIONS, not just YARR_JIT_ALL_PARENS_EXPRESSIONS.
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generateEnter):
(JSC::Yarr::YarrGenerator::generateReturn):
Unconditionally save and restore RDI on 64-bit Windows.
LayoutTests:
* platform/wincairo/TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (231008 => 231009)
--- trunk/LayoutTests/ChangeLog 2018-04-25 19:16:00 UTC (rev 231008)
+++ trunk/LayoutTests/ChangeLog 2018-04-25 19:35:00 UTC (rev 231009)
@@ -1,3 +1,12 @@
+2018-04-25 Ross Kirsling <ross.kirsl...@sony.com>
+
+ [WinCairo] Fix js/regexp-unicode.html crash.
+ https://bugs.webkit.org/show_bug.cgi?id=184891
+
+ Reviewed by Yusuke Suzuki.
+
+ * platform/wincairo/TestExpectations:
+
2018-04-25 Brent Fulgham <bfulg...@apple.com>
Don't Block First Party Cookies on Redirects
Modified: trunk/LayoutTests/platform/wincairo/TestExpectations (231008 => 231009)
--- trunk/LayoutTests/platform/wincairo/TestExpectations 2018-04-25 19:16:00 UTC (rev 231008)
+++ trunk/LayoutTests/platform/wincairo/TestExpectations 2018-04-25 19:35:00 UTC (rev 231009)
@@ -1525,7 +1525,6 @@
imported/mozilla [ Skip ]
imported/w3c [ Skip ]
inspector [ Skip ]
-js/regexp-unicode.html [ Skip ]
js/dom [ Skip ]
legacy-animation-engine/media [ Skip ]
legacy-animation-engine/transitions [ Skip ]
Modified: trunk/Source/_javascript_Core/ChangeLog (231008 => 231009)
--- trunk/Source/_javascript_Core/ChangeLog 2018-04-25 19:16:00 UTC (rev 231008)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-04-25 19:35:00 UTC (rev 231009)
@@ -1,3 +1,18 @@
+2018-04-25 Ross Kirsling <ross.kirsl...@sony.com>
+
+ [WinCairo] Fix js/regexp-unicode.html crash.
+ https://bugs.webkit.org/show_bug.cgi?id=184891
+
+ Reviewed by Yusuke Suzuki.
+
+ On Win64, register RDI is "considered nonvolatile and must be saved and restored by a function that uses [it]".
+ RDI is being used as a scratch register for JIT_UNICODE_EXPRESSIONS, not just YARR_JIT_ALL_PARENS_EXPRESSIONS.
+
+ * yarr/YarrJIT.cpp:
+ (JSC::Yarr::YarrGenerator::generateEnter):
+ (JSC::Yarr::YarrGenerator::generateReturn):
+ Unconditionally save and restore RDI on 64-bit Windows.
+
2018-04-25 Michael Catanzaro <mcatanz...@igalia.com>
[GTK] Miscellaneous build cleanups
Modified: trunk/Source/_javascript_Core/yarr/YarrJIT.cpp (231008 => 231009)
--- trunk/Source/_javascript_Core/yarr/YarrJIT.cpp 2018-04-25 19:16:00 UTC (rev 231008)
+++ trunk/Source/_javascript_Core/yarr/YarrJIT.cpp 2018-04-25 19:35:00 UTC (rev 231009)
@@ -3299,10 +3299,12 @@
if (m_pattern.m_saveInitialStartValue)
push(X86Registers::ebx);
+#if OS(WINDOWS)
+ push(X86Registers::edi);
+#endif
#if ENABLE(YARR_JIT_ALL_PARENS_EXPRESSIONS)
if (m_containsNestedSubpatterns) {
#if OS(WINDOWS)
- push(X86Registers::edi);
push(X86Registers::esi);
#endif
push(X86Registers::r12);
@@ -3392,10 +3394,12 @@
pop(X86Registers::r12);
#if OS(WINDOWS)
pop(X86Registers::esi);
- pop(X86Registers::edi);
#endif
}
#endif
+#if OS(WINDOWS)
+ pop(X86Registers::edi);
+#endif
if (m_pattern.m_saveInitialStartValue)
pop(X86Registers::ebx);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes