REGRESSION(r197595): 2% JSBench regression on iPhone 5.
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Jun 2016 05:54:11 +0000 (05:54 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Jun 2016 05:54:11 +0000 (05:54 +0000)
<https://webkit.org/b/158459>

Unreviewed rollout.

* runtime/VM.cpp:
(JSC::VM::deleteAllRegExpCode): Deleted.
* runtime/VM.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201741 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/VM.cpp
Source/JavaScriptCore/runtime/VM.h
Source/WebCore/bindings/js/GCController.cpp
Source/WebCore/bindings/js/GCController.h
Source/WebCore/loader/FrameLoader.cpp

index 8f7ce90..b5ceb8d 100644 (file)
@@ -1,3 +1,14 @@
+2016-06-06  Andreas Kling  <akling@apple.com>
+
+        REGRESSION(r197595): 2% JSBench regression on iPhone 5.
+        <https://webkit.org/b/158459>
+
+        Unreviewed rollout.
+
+        * runtime/VM.cpp:
+        (JSC::VM::deleteAllRegExpCode): Deleted.
+        * runtime/VM.h:
+
 2016-06-06  Michael Saboff  <msaboff@apple.com>
 
         octal and binary parsing is wrong for some programs
index e67f26c..7535c00 100644 (file)
@@ -552,13 +552,6 @@ void VM::deleteAllLinkedCode()
     });
 }
 
-void VM::deleteAllRegExpCode()
-{
-    whenIdle([this]() {
-        m_regExpCache->deleteAllCode();
-    });
-}
-
 void VM::deleteAllCode()
 {
     whenIdle([this]() {
index 3cb52ba..a17e93c 100644 (file)
@@ -576,7 +576,6 @@ public:
 
     JS_EXPORT_PRIVATE void deleteAllCode();
     JS_EXPORT_PRIVATE void deleteAllLinkedCode();
-    JS_EXPORT_PRIVATE void deleteAllRegExpCode();
 
     WatchpointSet* ensureWatchpointSetForImpureProperty(const Identifier&);
     void registerWatchpointForImpureProperty(const Identifier&, Watchpoint*);
index c12065c..acfba39 100644 (file)
@@ -128,10 +128,4 @@ void GCController::deleteAllLinkedCode()
     JSDOMWindow::commonVM().deleteAllLinkedCode();
 }
 
-void GCController::deleteAllRegExpCode()
-{
-    JSLockHolder lock(JSDOMWindow::commonVM());
-    JSDOMWindow::commonVM().deleteAllRegExpCode();
-}
-
 } // namespace WebCore
index 43be367..2742edb 100644 (file)
@@ -47,7 +47,6 @@ public:
     WEBCORE_EXPORT void setJavaScriptGarbageCollectorTimerEnabled(bool);
     WEBCORE_EXPORT void deleteAllCode();
     WEBCORE_EXPORT void deleteAllLinkedCode();
-    WEBCORE_EXPORT void deleteAllRegExpCode();
 
 private:
     GCController(); // Use singleton() instead.
index 1264231..5e9eab0 100644 (file)
@@ -1790,9 +1790,6 @@ void FrameLoader::commitProvisionalLoad()
         // For top-level navigations, have JSC throw away linked code. The immediate memory savings far
         // outweigh the cost of recompiling in the case of a future backwards navigation.
         GCController::singleton().deleteAllLinkedCode();
-
-        // Same thing with RegExp bytecode and JIT code.
-        GCController::singleton().deleteAllRegExpCode();
 #endif
     }