Source/JavaScriptCore: GetScopedVar should have value profiling
authorbarraclough@apple.com <barraclough@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Sep 2011 07:18:48 +0000 (07:18 +0000)
committerbarraclough@apple.com <barraclough@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Sep 2011 07:18:48 +0000 (07:18 +0000)
commitd84c2c8675048c733ccb8e40940b0cd500afe36e
treebd6bfb0df479d8eaad0507ae34ce36bfdb775924
parentdb1006a5c9157ddf351c7decd8fe1e4116e82d8b
Source/JavaScriptCore: GetScopedVar should have value profiling
https://bugs.webkit.org/show_bug.cgi?id=68676

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-09-22
Reviewed by Oliver Hunt.

Added GetScopedVar value profiling and predictin propagation.
Added GetScopeChain to CSE.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::predict):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasPrediction):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::getScopeChainLoadElimination):
(JSC::DFG::Propagator::performNodeCSE):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_scoped_var):

LayoutTests: [Qt] Unreviewed gardening, update expected file after r95745.

Patch by Csaba Osztrogon√°c <ossy@webkit.org> on 2011-09-22

* platform/qt/editing/deleting/merge-whitespace-pre-expected.png:
* platform/qt/editing/deleting/merge-whitespace-pre-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95787 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/js/array-prototype-properties-expected.txt
LayoutTests/fast/js/script-tests/strict-callback-this.js [new file with mode: 0644]
LayoutTests/fast/js/strict-callback-this-expected.txt [new file with mode: 0644]
LayoutTests/fast/js/strict-callback-this.html [new file with mode: 0644]
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/ArrayPrototype.cpp
Source/JavaScriptCore/runtime/JSArray.cpp
Source/JavaScriptCore/runtime/StringPrototype.cpp