FTL should not flush strict arguments unless it really needs to
https://bugs.webkit.org/show_bug.cgi?id=169519
Reviewed by Mark Lam.
JSTests:
This benchmark runs 3.5x faster thanks to this patch.
* microbenchmarks/strict-arguments-no-escape.js: Added.
(foo):
(bar):
(baz):
Source/JavaScriptCore:
This is a refinement that we should have done ages ago. This kills some pointless PutStacks
in DFG SSA IR. It can sometimes unlock other optimizations.
* dfg/DFGPreciseLocalClobberize.h:
(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213856
268f45cc-cd09-0410-ab3c-
d52691b4dbfc