Title: [133657] trunk
Revision
133657
Author
[email protected]
Date
2012-11-06 12:25:52 -0800 (Tue, 06 Nov 2012)

Log Message

DOMImplementation should use ScriptWrappable
https://bugs.webkit.org/show_bug.cgi?id=101279

Reviewed by Eric Seidel.

PerformanceTests:

This simple PerformanceTest measure how quickly we can access
document.implementation. The goal of this performance test is just to
validate that using ScriptWrappable actually makes the bindings faster.

* Bindings/document-implementation.html: Added.

Source/WebCore:

This patch makes DOMImplementation ScriptWrappable. Both the V8 and JSC
bindings automatically detect the presence of this base class and use
it to optimize getting and setting _javascript_ wrappers.

This patch is a 23% progression on Bindings/document-implementation for
the V8 bindings and a 69% progression for the JSC bindings.

* dom/DOMImplementation.h:

Modified Paths

Added Paths

Diff

Added: trunk/PerformanceTests/Bindings/document-implementation.html (0 => 133657)


--- trunk/PerformanceTests/Bindings/document-implementation.html	                        (rev 0)
+++ trunk/PerformanceTests/Bindings/document-implementation.html	2012-11-06 20:25:52 UTC (rev 133657)
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<body>
+<script src=""
+<script>
+PerfTestRunner.measureRunsPerSecond({
+    description: "This benchmark repeatedly accesses document.implementation.",
+    run: function() {
+        for (var i = 0; i < 100000; ++i)
+            document.implementation;
+}});
+</script>
+</body>
+</html>

Modified: trunk/PerformanceTests/ChangeLog (133656 => 133657)


--- trunk/PerformanceTests/ChangeLog	2012-11-06 20:23:54 UTC (rev 133656)
+++ trunk/PerformanceTests/ChangeLog	2012-11-06 20:25:52 UTC (rev 133657)
@@ -1,3 +1,16 @@
+2012-11-06  Adam Barth  <[email protected]>
+
+        DOMImplementation should use ScriptWrappable
+        https://bugs.webkit.org/show_bug.cgi?id=101279
+
+        Reviewed by Eric Seidel.
+
+        This simple PerformanceTest measure how quickly we can access
+        document.implementation. The goal of this performance test is just to
+        validate that using ScriptWrappable actually makes the bindings faster.
+
+        * Bindings/document-implementation.html: Added.
+
 2012-11-05  Geoffrey Garen  <[email protected]>
 
         WebKit should have performance tests for book chapter reflow

Modified: trunk/Source/WebCore/ChangeLog (133656 => 133657)


--- trunk/Source/WebCore/ChangeLog	2012-11-06 20:23:54 UTC (rev 133656)
+++ trunk/Source/WebCore/ChangeLog	2012-11-06 20:25:52 UTC (rev 133657)
@@ -1,3 +1,19 @@
+2012-11-06  Adam Barth  <[email protected]>
+
+        DOMImplementation should use ScriptWrappable
+        https://bugs.webkit.org/show_bug.cgi?id=101279
+
+        Reviewed by Eric Seidel.
+
+        This patch makes DOMImplementation ScriptWrappable. Both the V8 and JSC
+        bindings automatically detect the presence of this base class and use
+        it to optimize getting and setting _javascript_ wrappers.
+
+        This patch is a 23% progression on Bindings/document-implementation for
+        the V8 bindings and a 69% progression for the JSC bindings.
+
+        * dom/DOMImplementation.h:
+
 2012-11-06  Benjamin Poulain  <[email protected]>
 
         Speed up TransformationMatrix::multiply() on modern ARM

Modified: trunk/Source/WebCore/dom/DOMImplementation.h (133656 => 133657)


--- trunk/Source/WebCore/dom/DOMImplementation.h	2012-11-06 20:23:54 UTC (rev 133656)
+++ trunk/Source/WebCore/dom/DOMImplementation.h	2012-11-06 20:25:52 UTC (rev 133657)
@@ -42,7 +42,7 @@
 
 typedef int ExceptionCode;
 
-class DOMImplementation {
+class DOMImplementation : public ScriptWrappable {
     WTF_MAKE_FAST_ALLOCATED;
 public:
     static PassOwnPtr<DOMImplementation> create(Document* document) { return adoptPtr(new DOMImplementation(document)); }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to