DFG CSE is overzealous with GetByVal
https://bugs.webkit.org/show_bug.cgi?id=74042
Source/JavaScriptCore:
Reviewed by Oliver Hunt.
Made sure that the purity of GetByVal and the limited-clobber-itude of PutByVal
is tested in all places that matter.
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::byValIsPure):
(JSC::DFG::Propagator::clobbersWorld):
(JSC::DFG::Propagator::getByValLoadElimination):
(JSC::DFG::Propagator::checkStructureLoadElimination):
(JSC::DFG::Propagator::getByOffsetLoadElimination):
(JSC::DFG::Propagator::getPropertyStorageLoadElimination):
(JSC::DFG::Propagator::performNodeCSE):
LayoutTests:
Reviewed by Oliver Hunt.
* fast/js/dfg-get-by-val-getter-cse-expected.txt: Added.
* fast/js/dfg-get-by-val-getter-cse.html: Added.
* fast/js/script-tests/dfg-get-by-val-getter-cse.js: Added.
():
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102293 268f45cc-cd09-0410-ab3c-d52691b4dbfc
6 files changed