Title: [213860] trunk
- Revision
- 213860
- Author
- [email protected]
- Date
- 2017-03-13 12:36:27 -0700 (Mon, 13 Mar 2017)
Log Message
Unreviewed, rolling out r213856.
https://bugs.webkit.org/show_bug.cgi?id=169562
Breaks JSC stress test stress/super-property-access.js.ftl-
eager failing (Requested by mlam|g on #webkit).
Reverted changeset:
"FTL should not flush strict arguments unless it really needs
to"
https://bugs.webkit.org/show_bug.cgi?id=169519
http://trac.webkit.org/changeset/213856
Modified Paths
Removed Paths
Diff
Modified: trunk/JSTests/ChangeLog (213859 => 213860)
--- trunk/JSTests/ChangeLog 2017-03-13 19:09:07 UTC (rev 213859)
+++ trunk/JSTests/ChangeLog 2017-03-13 19:36:27 UTC (rev 213860)
@@ -1,3 +1,18 @@
+2017-03-13 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r213856.
+ https://bugs.webkit.org/show_bug.cgi?id=169562
+
+ Breaks JSC stress test stress/super-property-access.js.ftl-
+ eager failing (Requested by mlam|g on #webkit).
+
+ Reverted changeset:
+
+ "FTL should not flush strict arguments unless it really needs
+ to"
+ https://bugs.webkit.org/show_bug.cgi?id=169519
+ http://trac.webkit.org/changeset/213856
+
2017-03-11 Filip Pizlo <[email protected]>
FTL should not flush strict arguments unless it really needs to
Deleted: trunk/JSTests/microbenchmarks/strict-arguments-no-escape.js (213859 => 213860)
--- trunk/JSTests/microbenchmarks/strict-arguments-no-escape.js 2017-03-13 19:09:07 UTC (rev 213859)
+++ trunk/JSTests/microbenchmarks/strict-arguments-no-escape.js 2017-03-13 19:36:27 UTC (rev 213860)
@@ -1,26 +0,0 @@
-"use strict";
-
-function foo()
-{
-}
-
-noInline(foo);
-
-function bar(o)
-{
- foo();
- return o.f.f.f.f.f;
-}
-
-function baz()
-{
- for (var i = 0; i < 100; ++i) {
- if (bar({f: {f: {f: {f: {f: 42}}}}}) != 42)
- throw "Error: bad result: " + result;
- }
-}
-
-noInline(baz);
-
-for (var i = 0; i < 20000; ++i)
- baz();
Modified: trunk/Source/_javascript_Core/ChangeLog (213859 => 213860)
--- trunk/Source/_javascript_Core/ChangeLog 2017-03-13 19:09:07 UTC (rev 213859)
+++ trunk/Source/_javascript_Core/ChangeLog 2017-03-13 19:36:27 UTC (rev 213860)
@@ -1,3 +1,18 @@
+2017-03-13 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r213856.
+ https://bugs.webkit.org/show_bug.cgi?id=169562
+
+ Breaks JSC stress test stress/super-property-access.js.ftl-
+ eager failing (Requested by mlam|g on #webkit).
+
+ Reverted changeset:
+
+ "FTL should not flush strict arguments unless it really needs
+ to"
+ https://bugs.webkit.org/show_bug.cgi?id=169519
+ http://trac.webkit.org/changeset/213856
+
2017-03-13 Yusuke Suzuki <[email protected]>
[JSC][Linux] Allow profilers to demangle C++ names
Modified: trunk/Source/_javascript_Core/dfg/DFGPreciseLocalClobberize.h (213859 => 213860)
--- trunk/Source/_javascript_Core/dfg/DFGPreciseLocalClobberize.h 2017-03-13 19:09:07 UTC (rev 213859)
+++ trunk/Source/_javascript_Core/dfg/DFGPreciseLocalClobberize.h 2017-03-13 19:36:27 UTC (rev 213860)
@@ -197,11 +197,9 @@
default: {
- // All of the outermost arguments, except this, are read in sloppy mode.
- if (!m_graph.m_codeBlock->isStrictMode()) {
- for (unsigned i = m_graph.m_codeBlock->numParameters(); i-- > 1;)
- m_read(virtualRegisterForArgument(i));
- }
+ // All of the outermost arguments, except this, are definitely read.
+ for (unsigned i = m_graph.m_codeBlock->numParameters(); i-- > 1;)
+ m_read(virtualRegisterForArgument(i));
// The stack header is read.
for (unsigned i = 0; i < CallFrameSlot::thisArgument; ++i)
@@ -209,10 +207,8 @@
// Read all of the inline arguments and call frame headers that we didn't already capture.
for (InlineCallFrame* inlineCallFrame = m_node->origin.semantic.inlineCallFrame; inlineCallFrame; inlineCallFrame = inlineCallFrame->getCallerInlineFrameSkippingTailCalls()) {
- if (!inlineCallFrame->isStrictMode()) {
- for (unsigned i = inlineCallFrame->arguments.size(); i-- > 1;)
- m_read(VirtualRegister(inlineCallFrame->stackOffset + virtualRegisterForArgument(i).offset()));
- }
+ for (unsigned i = inlineCallFrame->arguments.size(); i-- > 1;)
+ m_read(VirtualRegister(inlineCallFrame->stackOffset + virtualRegisterForArgument(i).offset()));
if (inlineCallFrame->isClosureCall)
m_read(VirtualRegister(inlineCallFrame->stackOffset + CallFrameSlot::callee));
if (inlineCallFrame->isVarargs())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes