LGTM, small comments below.
http://codereview.chromium.org/7826009/diff/1/src/hydrogen.cc File src/hydrogen.cc (right): http://codereview.chromium.org/7826009/diff/1/src/hydrogen.cc#newcode5836 src/hydrogen.cc:5836: ASSERT(var->IsStackAllocated()); This ASSERT is trivially true, because it's in the case for PARAMETER and LOCAL. http://codereview.chromium.org/7826009/diff/1/src/hydrogen.h File src/hydrogen.h (right): http://codereview.chromium.org/7826009/diff/1/src/hydrogen.h#newcode782 src/hydrogen.h:782: void EmitDeclaration(VariableProxy* proxy, Don't call this Emit, save that for things that generate assembly code. I think we've been calling such helpers "HandleDeclaration" in the graph builder. http://codereview.chromium.org/7826009/diff/1/src/parser.cc File src/parser.cc (right): http://codereview.chromium.org/7826009/diff/1/src/parser.cc#newcode3791 src/parser.cc:3791: Variable* fvar = top_scope_->DeclareFunctionVar(function_name)->var(); You could keep DeclareFunctionVar returning a Variable*, because this is the only use and you want the Variable*. It would save the unsightly ->var(). http://codereview.chromium.org/7826009/diff/1/src/scopeinfo.cc File src/scopeinfo.cc (right): http://codereview.chromium.org/7826009/diff/1/src/scopeinfo.cc#newcode137 src/scopeinfo.cc:137: proxy->var()->AsSlot()->type() == Slot::CONTEXT) { proxy->var()->IsContextSlot() http://codereview.chromium.org/7826009/diff/1/src/scopeinfo.cc#newcode138 src/scopeinfo.cc:138: function_name_ = proxy->var()->name(); function_name_ = proxy->name(); http://codereview.chromium.org/7826009/diff/1/src/scopes.cc File src/scopes.cc (right): http://codereview.chromium.org/7826009/diff/1/src/scopes.cc#newcode800 src/scopes.cc:800: if (function_ != NULL && function_->var()->name().is_identical_to(name)) { function_->name() because the VariableProxy and Variable have the same name. http://codereview.chromium.org/7826009/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
