Title: [201566] trunk
Revision
201566
Author
[email protected]
Date
2016-06-01 13:32:57 -0700 (Wed, 01 Jun 2016)

Log Message

Unreviewed, rolling out r201488.
https://bugs.webkit.org/show_bug.cgi?id=158268

Caused 23% regression on JetStream's crypto-md5 (Requested by
rniwa on #webkit).

Reverted changeset:

"[ESNext] Support trailing commas in function param lists"
https://bugs.webkit.org/show_bug.cgi?id=158020
http://trac.webkit.org/changeset/201488

Modified Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (201565 => 201566)


--- trunk/LayoutTests/ChangeLog	2016-06-01 20:15:23 UTC (rev 201565)
+++ trunk/LayoutTests/ChangeLog	2016-06-01 20:32:57 UTC (rev 201566)
@@ -1,3 +1,17 @@
+2016-06-01  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r201488.
+        https://bugs.webkit.org/show_bug.cgi?id=158268
+
+        Caused 23% regression on JetStream's crypto-md5 (Requested by
+        rniwa on #webkit).
+
+        Reverted changeset:
+
+        "[ESNext] Support trailing commas in function param lists"
+        https://bugs.webkit.org/show_bug.cgi?id=158020
+        http://trac.webkit.org/changeset/201488
+
 2016-06-01  Nael Ouedraogo  <[email protected]>
 
         POST request on a blob resource should return a "network error" instead of HTTP 500 response

Modified: trunk/LayoutTests/js/parser-syntax-check-expected.txt (201565 => 201566)


--- trunk/LayoutTests/js/parser-syntax-check-expected.txt	2016-06-01 20:15:23 UTC (rev 201565)
+++ trunk/LayoutTests/js/parser-syntax-check-expected.txt	2016-06-01 20:32:57 UTC (rev 201566)
@@ -137,8 +137,8 @@
 PASS Invalid: "function f() { a(5 }"
 PASS Invalid: "a(5,"
 PASS Invalid: "function f() { a(5, }"
-PASS Valid:   "a(5,)" with ReferenceError
-PASS Valid:   "function f() { a(5,) }"
+PASS Invalid: "a(5,)"
+PASS Invalid: "function f() { a(5,) }"
 PASS Invalid: "a(5,6"
 PASS Invalid: "function f() { a(5,6 }"
 PASS Valid:   "a(b[7], c <d> e.l, new a() > b)" with ReferenceError
@@ -172,8 +172,8 @@
 PASS Invalid: "function f() { function () {} }"
 PASS Invalid: "function f(a b) {}"
 PASS Invalid: "function f() { function f(a b) {} }"
-PASS Valid:   "function f(a,) {}"
-PASS Valid:   "function f() { function f(a,) {} }"
+PASS Invalid: "function f(a,) {}"
+PASS Invalid: "function f() { function f(a,) {} }"
 PASS Invalid: "function f(a,"
 PASS Invalid: "function f() { function f(a, }"
 PASS Invalid: "function f(a, 1) {}"

Modified: trunk/LayoutTests/js/script-tests/parser-syntax-check.js (201565 => 201566)


--- trunk/LayoutTests/js/script-tests/parser-syntax-check.js	2016-06-01 20:15:23 UTC (rev 201565)
+++ trunk/LayoutTests/js/script-tests/parser-syntax-check.js	2016-06-01 20:32:57 UTC (rev 201566)
@@ -147,7 +147,7 @@
 invalid("a(");
 invalid("a(5");
 invalid("a(5,");
-valid("a(5,)");
+invalid("a(5,)");
 invalid("a(5,6");
 valid  ("a(b[7], c <d> e.l, new a() > b)");
 invalid("a(b[5)");
@@ -167,7 +167,7 @@
 valid  ("function f(a,b) {}");
 invalid("function () {}");
 invalid("function f(a b) {}");
-valid("function f(a,) {}");
+invalid("function f(a,) {}");
 invalid("function f(a,");
 invalid("function f(a, 1) {}");
 valid  ("function g(arguments, eval) {}");

Modified: trunk/LayoutTests/sputnik/Conformance/13_Function_Definition/S13_A5.html (201565 => 201566)


--- trunk/LayoutTests/sputnik/Conformance/13_Function_Definition/S13_A5.html	2016-06-01 20:15:23 UTC (rev 201565)
+++ trunk/LayoutTests/sputnik/Conformance/13_Function_Definition/S13_A5.html	2016-06-01 20:32:57 UTC (rev 201566)
@@ -100,11 +100,11 @@
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#3
 try{
-	eval("function __func(arg1, arg2, arg3,,){return arguments.length;}");
-	testFailed('#3: eval("function __func(arg1, arg2, arg3,,){return arguments.length;}") lead to throwing exception')
+	eval("function __func(arg1, arg2, arg3,){return arguments.length;}");
+	testFailed('#3: eval("function __func(arg1, arg2, arg3,){return arguments.length;}") lead to throwing exception')
 } catch(e){
 	if(!(e instanceof SyntaxError)){
-		testFailed('#3.1: eval("function __func(arg1, arg2, arg3,,){return arguments.length;}") lead to throwing exception of SyntaxError. Actual: exception is '+e);
+		testFailed('#3.1: eval("function __func(arg1, arg2, arg3,){return arguments.length;}") lead to throwing exception of SyntaxError. Actual: exception is '+e);
 	}
 }
 //

Modified: trunk/Source/_javascript_Core/ChangeLog (201565 => 201566)


--- trunk/Source/_javascript_Core/ChangeLog	2016-06-01 20:15:23 UTC (rev 201565)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-06-01 20:32:57 UTC (rev 201566)
@@ -1,3 +1,17 @@
+2016-06-01  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r201488.
+        https://bugs.webkit.org/show_bug.cgi?id=158268
+
+        Caused 23% regression on JetStream's crypto-md5 (Requested by
+        rniwa on #webkit).
+
+        Reverted changeset:
+
+        "[ESNext] Support trailing commas in function param lists"
+        https://bugs.webkit.org/show_bug.cgi?id=158020
+        http://trac.webkit.org/changeset/201488
+
 2016-05-31  Geoffrey Garen  <[email protected]>
 
         Dictionary property access should be fast

Modified: trunk/Source/_javascript_Core/parser/Parser.cpp (201565 => 201566)


--- trunk/Source/_javascript_Core/parser/Parser.cpp	2016-06-01 20:15:23 UTC (rev 201565)
+++ trunk/Source/_javascript_Core/parser/Parser.cpp	2016-06-01 20:32:57 UTC (rev 201566)
@@ -1746,9 +1746,6 @@
         TreeDestructuringPattern parameter = 0;
         TreeExpression defaultValue = 0;
 
-        if (match(CLOSEPAREN))
-            break;
-        
         if (match(DOTDOTDOT)) {
             next();
             failIfFalse(matchSpecIdentifier(), "Rest parameter '...' should be followed by a variable identifier");
@@ -3829,9 +3826,6 @@
         JSTokenLocation argumentLocation(tokenLocation());
         next(TreeBuilder::DontBuildStrings);
 
-        if (match(CLOSEPAREN))
-            break;
-        
         TreeExpression arg = parseArgument(context, argType);
         propagateError();
         semanticFailIfTrue(match(DOTDOTDOT), "The '...' operator should come before the target _expression_");

Deleted: trunk/Source/_javascript_Core/tests/stress/trailing-comma-in-function-paramters.js (201565 => 201566)


--- trunk/Source/_javascript_Core/tests/stress/trailing-comma-in-function-paramters.js	2016-06-01 20:15:23 UTC (rev 201565)
+++ trunk/Source/_javascript_Core/tests/stress/trailing-comma-in-function-paramters.js	2016-06-01 20:32:57 UTC (rev 201566)
@@ -1,63 +0,0 @@
-function test(result, expected, message) {
-    if (result !== expected)
-        throw "Error: " + message + ". was: " + result + " wanted: " + expected;
-}
-
-function evalWithThrow(text) {
-    var result; 
-    try {
-        result = eval(text);
-    } catch (error) {
-        return error.toString();
-    }
-    return result;
-}
-
-test(evalWithThrow('typeof function(,){ return a; }'), 'SyntaxError: Unexpected token \',\'. Expected a parameter pattern or a \')\' in parameter list.');
-test(evalWithThrow('typeof function(a,,){ return a; }'), 'SyntaxError: Unexpected token \',\'. Expected a parameter pattern or a \')\' in parameter list.');
-test(evalWithThrow('function a(a, ...last,){ return; }'), 'SyntaxError: Unexpected token \',\'. Rest parameter should be the last parameter in a function declaration.');
-test(eval('typeof function(a,){ return a; }'), 'function');
-test(eval('typeof function(a, b,){ return a + b; }'), 'function');
-test(eval('typeof function(a, b, c, ){ return a + b + c; }'), 'function');
-
-test(evalWithThrow('typeof ((,)=>{ return a; })'), 'SyntaxError: Unexpected token \',\'');
-test(evalWithThrow('typeof ((a,,)=>{ return a; })'), 'SyntaxError: Unexpected token \',\'');
-test(evalWithThrow('typeof ((a, ...last,)=>{ return a; })'), 'SyntaxError: Unexpected token \'...\'');
-test(eval('typeof ((a,)=>{ return a; })'), 'function');
-test(eval('typeof ((a, b,)=>{ return a + b; })'), 'function');
-test(eval('typeof ((a, b, c)=>{ return a + b + c; })'), 'function');
-
-test(evalWithThrow('typeof ((,)=>a)'), 'SyntaxError: Unexpected token \',\'');
-test(evalWithThrow('typeof ((a,,)=>a)'), 'SyntaxError: Unexpected token \',\'');
-test(evalWithThrow('(a,...last,)=>0;'), 'SyntaxError: Unexpected token \'...\'');
-test(eval('typeof ((a,)=>a)'), 'function');
-test(eval('typeof ((a, b,)=>a + b)'), 'function');
-test(eval('typeof ((a, b, c)=>a + b + c)'), 'function');
-
-test(evalWithThrow('typeof ((,)=>a)'), 'SyntaxError: Unexpected token \',\'');
-test(evalWithThrow('typeof ((a,,)=>a)'), 'SyntaxError: Unexpected token \',\'');
-test(evalWithThrow('(a,...last,)=>0;'), 'SyntaxError: Unexpected token \'...\'');
-test(eval('typeof ((a,)=>a)'), 'function');
-test(eval('typeof ((a, b,)=>a + b)'), 'function');
-test(eval('typeof ((a, b, c)=>a + b + c)'), 'function');
-
-test(evalWithThrow('typeof function(a = "x0",,){ return a; }'), 'SyntaxError: Unexpected token \',\'. Expected a parameter pattern or a \')\' in parameter list.');
-test(evalWithThrow('typeof function(a = "x0",...last,){ return a; }'), 'SyntaxError: Unexpected token \',\'. Rest parameter should be the last parameter in a function declaration.');
-test(eval('typeof function(a = "x0",){ return a; }'), 'function');
-test(eval('typeof function(a = "x1", b = "y1",){ return a + b; }'), 'function');
-test(eval('typeof function(a = "x2", b = "y2", c = "z3"){ return a + b + c; }'), 'function');
-
-test(evalWithThrow('(function(a){ return a; })(,)'), 'SyntaxError: Unexpected token \',\'');
-test(evalWithThrow('(function(a){ return a; })("A",,)'), 'SyntaxError: Unexpected token \',\'');
-test(eval('(function(a){ return a; })("A",)'), 'A');
-test(eval('(function(a, b,){ return a + b; })("A", "B",)'), 'AB');
-test(eval('(function(a, b, c){ return a + b + c; })("A", "B", "C",)'), 'ABC');
-
-test(eval('(function(a){ return arguments.length; })("A",)'), 1);
-test(eval('(function(a, b,){ return arguments.length; })("A", "B",)'), 2);
-test(eval('(function(a, b, c){ return arguments.length; })("A", "B", "C",)'), 3);
-test(eval('(function(a,) { }).length'), 1);
-test(eval('(function(a, b, ) { }).length'), 2);
-test(eval('(function(a, b, c, ) { }).length'), 3);
-
-
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to