[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
ggaren at apple.com
ggaren at apple.com
Wed Dec 22 13:35:14 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 14b9ee1a49f0f39ffbb4c8ae4816c971c5f1108a
Author: ggaren at apple.com <ggaren at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Sep 21 00:04:22 2010 +0000
Fixed detection of alternative smaller than the first alternative
to only check looping alternatives.
https://bugs.webkit.org/show_bug.cgi?id=46049
Patch by Michael Saboff <msaboff at apple.com> on 2010-09-20
Reviewed by Gavin Barraclough.
* yarr/RegexJIT.cpp:
(JSC::Yarr::RegexGenerator::generateDisjunction):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 622cd09..045347a 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,14 @@
+2010-09-20 Michael Saboff <msaboff at apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Fixed detection of alternative smaller than the first alternative
+ to only check looping alternatives.
+ https://bugs.webkit.org/show_bug.cgi?id=46049
+
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateDisjunction):
+
2010-09-20 Peter Varga <pvarga at inf.u-szeged.hu>
Reviewed by Geoffrey Garen.
diff --git a/JavaScriptCore/yarr/RegexJIT.cpp b/JavaScriptCore/yarr/RegexJIT.cpp
index 09e32c1..8740130 100644
--- a/JavaScriptCore/yarr/RegexJIT.cpp
+++ b/JavaScriptCore/yarr/RegexJIT.cpp
@@ -1238,12 +1238,13 @@ class RegexGenerator : private MacroAssembler {
firstAlternativeInputChecked = Label(this);
while (state.alternativeValid()) {
- // Track whether any alternatives are shorter than the first one.
- hasShorterAlternatives = hasShorterAlternatives || (countCheckedForCurrentAlternative < countToCheckForFirstAlternative);
-
PatternAlternative* alternative = state.alternative();
optimizeAlternative(alternative);
+ // Track whether any alternatives are shorter than the first one.
+ if (!alternative->onceThrough())
+ hasShorterAlternatives = hasShorterAlternatives || (countCheckedForCurrentAlternative < countToCheckForFirstAlternative);
+
for (state.resetTerm(); state.termValid(); state.nextTerm())
generateTerm(state);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list