Modified: releases/WebKitGTK/webkit-2.12/Source/_javascript_Core/ChangeLog (204705 => 204706)
--- releases/WebKitGTK/webkit-2.12/Source/_javascript_Core/ChangeLog 2016-08-22 09:53:47 UTC (rev 204705)
+++ releases/WebKitGTK/webkit-2.12/Source/_javascript_Core/ChangeLog 2016-08-22 12:23:47 UTC (rev 204706)
@@ -1,3 +1,15 @@
+2016-02-21 Skachkov Oleksandr <gskach...@gmail.com>
+
+ Remove arrowfunction test cases that rely on arguments variable in jsc
+ https://bugs.webkit.org/show_bug.cgi?id=154517
+
+ Reviewed by Yusuke Suzuki.
+
+ Allow to jsc has the same behavior in _javascript_ as browser has
+
+ * tests/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js:
+ * tests/stress/arrowfunction-lexical-bind-arguments-strict.js:
+
2016-03-23 Michael Saboff <msab...@apple.com>
_javascript_Core ArrayPrototype::join shouldn't cache butterfly when it makes effectful calls
Modified: releases/WebKitGTK/webkit-2.12/Source/_javascript_Core/tests/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js (204705 => 204706)
--- releases/WebKitGTK/webkit-2.12/Source/_javascript_Core/tests/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js 2016-08-22 09:53:47 UTC (rev 204705)
+++ releases/WebKitGTK/webkit-2.12/Source/_javascript_Core/tests/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js 2016-08-22 12:23:47 UTC (rev 204706)
@@ -48,20 +48,25 @@
testCase(af1('G', i), 'AB-CD-EF-G-' + i, txtMsg + "#5");
}
-var af2 = (x, y) => arguments[0] + '-' + x + y;
+if (true) {
+ let arguments = [];
-noInline(af2);
+ var af2 = (x, y) => arguments[0] + '-' + x + y;
-for (var i = 0; i < 10000; i++) {
- testCase(af2('ABC', i), 'undefined-ABC' + i, txtMsg + "#6");
-}
+ noInline(af2);
-var af3 = () => arguments;
-noInline(af3);
+ for (var i = 0; i < 10000; i++) {
+ testCase(af2('ABC', i), 'undefined-ABC' + i, txtMsg + "#6");
+ }
-for (var i = 0; i < 10000; i++) {
- testCase(typeof af3('ABC', i), 'object', txtMsg + "#7");
- testCase(typeof af3('ABC', i)[0], 'undefined', txtMsg + "#8");
+ var af3 = () => arguments;
+
+ noInline(af3);
+
+ for (var i = 0; i < 10000; i++) {
+ testCase(typeof af3('ABC', i), 'object', txtMsg + "#7");
+ testCase(typeof af3('ABC', i)[0], 'undefined', txtMsg + "#8");
+ }
}
var afFactory4 = function () {
@@ -100,15 +105,19 @@
testCase(af6.func('VW', 'XY')('Z',i), 'GH_IJ_KL_VW_XY_Z_' + i, txtMsg + "#9");
}
-var obj = {
- name : 'id',
- method : (index) => arguments[0] + '-' + index
-};
+if (true) {
+ let arguments = [];
-noInline(obj.method);
+ var obj = {
+ name : 'id',
+ method : (index) => arguments[0] + '-' + index
+ };
-for (var i = 0; i < 10000; i++) {
- testCase(obj.method(i), 'undefined-' + i, txtMsg + "#10");
+ noInline(obj.method);
+
+ for (var i = 0; i < 10000; i++) {
+ testCase(obj.method(i), 'undefined-' + i, txtMsg + "#10");
+ }
}
var objFactory = function () {
Modified: releases/WebKitGTK/webkit-2.12/Source/_javascript_Core/tests/stress/arrowfunction-lexical-bind-arguments-strict.js (204705 => 204706)
--- releases/WebKitGTK/webkit-2.12/Source/_javascript_Core/tests/stress/arrowfunction-lexical-bind-arguments-strict.js 2016-08-22 09:53:47 UTC (rev 204705)
+++ releases/WebKitGTK/webkit-2.12/Source/_javascript_Core/tests/stress/arrowfunction-lexical-bind-arguments-strict.js 2016-08-22 12:23:47 UTC (rev 204706)
@@ -8,21 +8,6 @@
var txtMsg = 'Error: arguments is not lexically binded inside of the arrow function in strict mode';
var text_value = 'function_global_scope';
-var arr = (error) => {
- if (error)
- return arguments;
- else
- return 'no-error';
-};
-
-noInline(arr);
-
-for (let i=0; i<10000; i++) {
- let value = arr(true);
- let isArray = typeof value === 'array';
- testCase(isArray, false, txtMsg + "#1");
-}
-
function afFactory0() {
return a => arguments;
}