Title: [187080] branches/safari-601.1-branch/Source/_javascript_Core
- Revision
- 187080
- Author
- matthew_han...@apple.com
- Date
- 2015-07-20 21:37:58 -0700 (Mon, 20 Jul 2015)
Log Message
Merge r187028. rdar://problem/21869970
Modified Paths
Diff
Modified: branches/safari-601.1-branch/Source/_javascript_Core/ChangeLog (187079 => 187080)
--- branches/safari-601.1-branch/Source/_javascript_Core/ChangeLog 2015-07-21 04:37:55 UTC (rev 187079)
+++ branches/safari-601.1-branch/Source/_javascript_Core/ChangeLog 2015-07-21 04:37:58 UTC (rev 187080)
@@ -1,3 +1,28 @@
+2015-07-20 Matthew Hanson <matthew_han...@apple.com>
+
+ Merge r187028. rdar://problem/21869970
+
+ 2015-07-18 Filip Pizlo <fpi...@apple.com>
+
+ REGRESSION(186691): OSR entry is broken on loop headers that have no live variables
+ https://bugs.webkit.org/show_bug.cgi?id=147074
+ rdar://problem/21869970
+
+ Reviewed by Michael Saboff.
+
+ The OSR entry must-handle block/value widening introduced in r186691 would cause the
+ CFA to reexecute if it caused any live local variables to change value. But this fails
+ if the must-handle block has no live local variables, and the entry block otherwise
+ appears to be unreachable.
+
+ This fixes the bug by having the change detection include whether the block hadn't been
+ visited in addition to whether any local variable values got widened.
+
+ This is a ~4% speed-up on SunSpider in browser.
+
+ * dfg/DFGCFAPhase.cpp:
+ (JSC::DFG::CFAPhase::run):
+
2015-07-16 Matthew Hanson <matthew_han...@apple.com>
Merge r186920. rdar://problem/21764196
Modified: branches/safari-601.1-branch/Source/_javascript_Core/dfg/DFGCFAPhase.cpp (187079 => 187080)
--- branches/safari-601.1-branch/Source/_javascript_Core/dfg/DFGCFAPhase.cpp 2015-07-21 04:37:55 UTC (rev 187079)
+++ branches/safari-601.1-branch/Source/_javascript_Core/dfg/DFGCFAPhase.cpp 2015-07-21 04:37:58 UTC (rev 187080)
@@ -107,7 +107,7 @@
m_graph, resultFor(node->variableAccessData()->flushFormat()));
}
- if (changed) {
+ if (changed || !block->cfaHasVisited) {
m_changed = true;
block->cfaShouldRevisit = true;
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes