Title: [182100] trunk/Source
Revision
182100
Author
rn...@webkit.org
Date
2015-03-27 20:09:20 -0700 (Fri, 27 Mar 2015)

Log Message

ES6 Classes: Runtime error in JIT'd class calling super() with arguments and superclass has default constructor
https://bugs.webkit.org/show_bug.cgi?id=142862

Reviewed by Benjamin Poulain.

Source/_javascript_Core:

Add a test that used to fail in DFG now that the bug has been fixed by r181993.

* tests/stress/class-syntax-derived-default-constructor.js: Added.

Source/WebInspectorUI:

Removed the workaround for the bug since it has been fixed by r181993.

* UserInterface/Base/Object.js:
* UserInterface/Models/DebuggerDashboard.js:
* UserInterface/Models/NetworkTimeline.js:
* UserInterface/Models/ReplayDashboard.js:
* UserInterface/Models/Revision.js:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (182099 => 182100)


--- trunk/Source/_javascript_Core/ChangeLog	2015-03-28 02:56:24 UTC (rev 182099)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-03-28 03:09:20 UTC (rev 182100)
@@ -1,3 +1,14 @@
+2015-03-27  Ryosuke Niwa  <rn...@webkit.org>
+
+        ES6 Classes: Runtime error in JIT'd class calling super() with arguments and superclass has default constructor
+        https://bugs.webkit.org/show_bug.cgi?id=142862
+
+        Reviewed by Benjamin Poulain.
+
+        Add a test that used to fail in DFG now that the bug has been fixed by r181993.
+
+        * tests/stress/class-syntax-derived-default-constructor.js: Added.
+
 2015-03-27  Michael Saboff  <msab...@apple.com>
 
         load8Signed() and load16Signed() should be renamed to avoid confusion

Added: trunk/Source/_javascript_Core/tests/stress/class-syntax-derived-default-constructor.js (0 => 182100)


--- trunk/Source/_javascript_Core/tests/stress/class-syntax-derived-default-constructor.js	                        (rev 0)
+++ trunk/Source/_javascript_Core/tests/stress/class-syntax-derived-default-constructor.js	2015-03-28 03:09:20 UTC (rev 182100)
@@ -0,0 +1,26 @@
+
+var A = class A { };
+var B = class B extends A { };
+var C = class C extends B { constructor() { super(); } };
+
+noInline(C);
+
+(function() {
+    var x;
+    for (var i = 0; i < 1e5; ++i)
+        x = new C(false);
+})();
+
+var D = class D extends A { constructor() {
+    super(...arguments);
+    return function () { return arguments; }
+} };
+var E = class E extends D { constructor() { super(); } };
+
+noInline(E);
+
+(function() {
+    var x;
+    for (var i = 0; i < 1e5; ++i)
+        x = new C(false);
+})();

Modified: trunk/Source/WebInspectorUI/ChangeLog (182099 => 182100)


--- trunk/Source/WebInspectorUI/ChangeLog	2015-03-28 02:56:24 UTC (rev 182099)
+++ trunk/Source/WebInspectorUI/ChangeLog	2015-03-28 03:09:20 UTC (rev 182100)
@@ -1,3 +1,18 @@
+2015-03-27  Ryosuke Niwa  <rn...@webkit.org>
+
+        ES6 Classes: Runtime error in JIT'd class calling super() with arguments and superclass has default constructor
+        https://bugs.webkit.org/show_bug.cgi?id=142862
+
+        Reviewed by Benjamin Poulain.
+
+        Removed the workaround for the bug since it has been fixed by r181993.
+
+        * UserInterface/Base/Object.js:
+        * UserInterface/Models/DebuggerDashboard.js:
+        * UserInterface/Models/NetworkTimeline.js:
+        * UserInterface/Models/ReplayDashboard.js:
+        * UserInterface/Models/Revision.js:
+
 2015-03-27  Joseph Pecoraro  <pecor...@apple.com>
 
         Web Inspector: Add Setter Icon for ObjectTreeView

Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Object.js (182099 => 182100)


--- trunk/Source/WebInspectorUI/UserInterface/Base/Object.js	2015-03-28 02:56:24 UTC (rev 182099)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Object.js	2015-03-28 03:09:20 UTC (rev 182100)
@@ -25,11 +25,6 @@
 
 WebInspector.Object = class Object
 {
-    constructor()
-    {
-        // FIXME: Remove once <https://webkit.org/b/142862> is fixed.
-    }
-
     // Static
 
     static addEventListener(eventType, listener, thisObject)

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/DebuggerDashboard.js (182099 => 182100)


--- trunk/Source/WebInspectorUI/UserInterface/Models/DebuggerDashboard.js	2015-03-28 02:56:24 UTC (rev 182099)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/DebuggerDashboard.js	2015-03-28 03:09:20 UTC (rev 182100)
@@ -25,9 +25,4 @@
 
 WebInspector.DebuggerDashboard = class DebuggerDashboard extends WebInspector.Object
 {
-    constructor()
-    {
-        // FIXME: Remove once <https://webkit.org/b/142862> is fixed.
-        super();
-    }
 };

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/NetworkTimeline.js (182099 => 182100)


--- trunk/Source/WebInspectorUI/UserInterface/Models/NetworkTimeline.js	2015-03-28 02:56:24 UTC (rev 182099)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/NetworkTimeline.js	2015-03-28 03:09:20 UTC (rev 182100)
@@ -25,12 +25,6 @@
 
 WebInspector.NetworkTimeline = class NetworkTimeline extends WebInspector.Timeline
 {
-    constructor(type)
-    {
-        // FIXME: Remove once <https://webkit.org/b/142862> is fixed.
-        super(type);
-    }
-
     // Public
 
     recordForResource(resource)

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/ReplayDashboard.js (182099 => 182100)


--- trunk/Source/WebInspectorUI/UserInterface/Models/ReplayDashboard.js	2015-03-28 02:56:24 UTC (rev 182099)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/ReplayDashboard.js	2015-03-28 03:09:20 UTC (rev 182100)
@@ -25,9 +25,4 @@
 
 WebInspector.ReplayDashboard = class ReplayDashboard extends WebInspector.Object
 {
-    constructor()
-    {
-        // FIXME: Remove once <https://webkit.org/b/142862> is fixed.
-        super();
-    }
 };

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/Revision.js (182099 => 182100)


--- trunk/Source/WebInspectorUI/UserInterface/Models/Revision.js	2015-03-28 02:56:24 UTC (rev 182099)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/Revision.js	2015-03-28 03:09:20 UTC (rev 182100)
@@ -25,12 +25,6 @@
 
 WebInspector.Revision = class Revision extends WebInspector.Object
 {
-    constructor()
-    {
-        // FIXME: Remove once <https://webkit.org/b/142862> is fixed.
-        super();
-    }
-
     // Public
 
     apply()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to