[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 12:35:18 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 3473aeb8a8ccb005dfb6f25b926e11205a4f1888
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Aug 25 18:55:26 2010 +0000

    2010-08-25  Michael Saboff  <msaboff at apple.com>
    
            Reviewed by Sam Weinig.
    
            Remove the single entry regular expression cache introduced as part of
            the fix for https://bugs.webkit.org/show_bug.cgi?id=41238.
            The performance problem in Dromaeo that initiated that bug is no
            longer present. Dromaeo has been modified so that the regular
            expression tests are somewhat random and don't benefit from a
            single entry cache.
    
            * runtime/RegExp.cpp:
            (JSC::RegExp::RegExp):
            (JSC::RegExp::match):
            * runtime/RegExp.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66031 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index ca80671..1381b09 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-08-25  Michael Saboff  <msaboff at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Remove the single entry regular expression cache introduced as part of
+        the fix for https://bugs.webkit.org/show_bug.cgi?id=41238.
+        The performance problem in Dromaeo that initiated that bug is no 
+        longer present. Dromaeo has been modified so that the regular
+        expression tests are somewhat random and don't benefit from a
+        single entry cache.
+
+        * runtime/RegExp.cpp:
+        (JSC::RegExp::RegExp):
+        (JSC::RegExp::match):
+        * runtime/RegExp.h:
+
 2010-08-25  Martin Robinson  <mrobinson at igalia.com>
 
         Reviewed by Gustavo Noronha Silva.
diff --git a/JavaScriptCore/runtime/RegExp.cpp b/JavaScriptCore/runtime/RegExp.cpp
index 2b844c1..5ad9f3f 100644
--- a/JavaScriptCore/runtime/RegExp.cpp
+++ b/JavaScriptCore/runtime/RegExp.cpp
@@ -51,7 +51,6 @@ inline RegExp::RegExp(JSGlobalData* globalData, const UString& pattern, const US
     , m_flagBits(0)
     , m_constructionError(0)
     , m_numSubpatterns(0)
-    , m_lastMatchStart(-1)
 {
     // NOTE: The global flag is handled on a case-by-case basis by functions like
     // String::match and RegExpObject::match.
@@ -96,24 +95,8 @@ int RegExp::match(const UString& s, int startOffset, Vector<int, 32>* ovector)
     if (ovector)
         ovector->resize(0);
 
-    if (static_cast<unsigned>(startOffset) > s.length() || s.isNull()) {
-        m_lastMatchString = UString();
-        m_lastMatchStart = -1;
-        m_lastOVector.shrink(0);
+    if (static_cast<unsigned>(startOffset) > s.length() || s.isNull())
         return -1;
-    }
-    
-    // Perform check to see if this match call is the same as the last match invocation
-    // and if it is return the prior result.
-    if ((startOffset == m_lastMatchStart) && (s.impl() == m_lastMatchString.impl())) {
-        if (ovector)
-            *ovector = m_lastOVector;
-        
-        if (m_lastOVector.isEmpty())
-            return -1;
-
-        return m_lastOVector.at(0);
-    }
 
 #if ENABLE(YARR_JIT)
     if (!!m_regExpJITCode) {
@@ -151,21 +134,9 @@ int RegExp::match(const UString& s, int startOffset, Vector<int, 32>* ovector)
                 ovector->clear();
         }
         
-        m_lastMatchString = s;
-        m_lastMatchStart = startOffset;
-
-        if (ovector)
-            m_lastOVector = *ovector;
-        else
-            m_lastOVector = nonReturnedOvector;
-
         return result;
     }
 
-    m_lastMatchString = UString();
-    m_lastMatchStart = -1;
-    m_lastOVector.shrink(0);
-
     return -1;
 }
 
diff --git a/JavaScriptCore/runtime/RegExp.h b/JavaScriptCore/runtime/RegExp.h
index 8ea44e3..aadad6b 100644
--- a/JavaScriptCore/runtime/RegExp.h
+++ b/JavaScriptCore/runtime/RegExp.h
@@ -65,9 +65,6 @@ namespace JSC {
         int m_flagBits;
         const char* m_constructionError;
         unsigned m_numSubpatterns;
-        UString m_lastMatchString;
-        int m_lastMatchStart;
-        Vector<int, 32> m_lastOVector;
 
 #if ENABLE(YARR_JIT)
         Yarr::RegexCodeBlock m_regExpJITCode;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list