[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