Title: [221167] trunk/Source/_javascript_Core
- Revision
- 221167
- Author
- msab...@apple.com
- Date
- 2017-08-24 16:03:27 -0700 (Thu, 24 Aug 2017)
Log Message
Enable moving fixed character class terms after fixed character terms for BMP only character classes
https://bugs.webkit.org/show_bug.cgi?id=175958
Reviewed by Saam Barati.
Currently we don't perform the reordering optimiaztion of fixed character terms that
follow fixed character class terms for Unicode patterns.
This change allows that reordering when the character class contains only BMP
characters.
This fix is covered by existing tests.
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::optimizeAlternative):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (221166 => 221167)
--- trunk/Source/_javascript_Core/ChangeLog 2017-08-24 22:43:08 UTC (rev 221166)
+++ trunk/Source/_javascript_Core/ChangeLog 2017-08-24 23:03:27 UTC (rev 221167)
@@ -1,5 +1,23 @@
2017-08-24 Michael Saboff <msab...@apple.com>
+ Enable moving fixed character class terms after fixed character terms for BMP only character classes
+ https://bugs.webkit.org/show_bug.cgi?id=175958
+
+ Reviewed by Saam Barati.
+
+ Currently we don't perform the reordering optimiaztion of fixed character terms that
+ follow fixed character class terms for Unicode patterns.
+
+ This change allows that reordering when the character class contains only BMP
+ characters.
+
+ This fix is covered by existing tests.
+
+ * yarr/YarrJIT.cpp:
+ (JSC::Yarr::YarrGenerator::optimizeAlternative):
+
+2017-08-24 Michael Saboff <msab...@apple.com>
+
Add support for RegExp "dotAll" flag
https://bugs.webkit.org/show_bug.cgi?id=175924
Modified: trunk/Source/_javascript_Core/yarr/YarrJIT.cpp (221166 => 221167)
--- trunk/Source/_javascript_Core/yarr/YarrJIT.cpp 2017-08-24 22:43:08 UTC (rev 221166)
+++ trunk/Source/_javascript_Core/yarr/YarrJIT.cpp 2017-08-24 23:03:27 UTC (rev 221167)
@@ -148,7 +148,7 @@
void optimizeAlternative(PatternAlternative* alternative)
{
- if (!alternative->m_terms.size() || m_decodeSurrogatePairs)
+ if (!alternative->m_terms.size())
return;
for (unsigned i = 0; i < alternative->m_terms.size() - 1; ++i) {
@@ -158,7 +158,7 @@
// We can move BMP only character classes after fixed character terms.
if ((term.type == PatternTerm::TypeCharacterClass)
&& (term.quantityType == QuantifierFixedCount)
- && (!term.characterClass->m_hasNonBMPCharacters)
+ && (!m_decodeSurrogatePairs || !term.characterClass->m_hasNonBMPCharacters)
&& (nextTerm.type == PatternTerm::TypePatternCharacter)
&& (nextTerm.quantityType == QuantifierFixedCount)) {
PatternTerm termCopy = term;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes