Implement put_scoped_var in the DFG jit
authoroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Sep 2011 21:55:07 +0000 (21:55 +0000)
committeroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Sep 2011 21:55:07 +0000 (21:55 +0000)
commitb47299f2f1ead4b87e365b188d9a48c471c5b2e0
tree810e6e69abf270526c1301e45a3559a73b333ba4
parent4cbb40c7d564eb14086e91e1377585e7dcebb6ab
Implement put_scoped_var in the DFG jit
https://bugs.webkit.org/show_bug.cgi?id=68653

Reviewed by Gavin Barraclough.

Naive implementation of put_scoped_var.  Same story as the
get_scoped_var implementation, although I've hoisted scope
object acquisition into a separate dfg node.  Ideally in the
future we would reuse the resolved scope chain object, but
for now we don't.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasScopeChainDepth):
(JSC::DFG::Node::scopeChainDepth):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
Source/JavaScriptCore/dfg/DFGCapabilities.h
Source/JavaScriptCore/dfg/DFGNode.h
Source/JavaScriptCore/dfg/DFGPropagator.cpp
Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp