Reviewers: Kevin Millikin, Description: Introduce support for local function declarations in Hydrogen.
Please review this at http://codereview.chromium.org/7782001/ SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/hydrogen.cc Index: src/hydrogen.cc =================================================================== --- src/hydrogen.cc (revision 9031) +++ src/hydrogen.cc (working copy) @@ -5804,13 +5804,17 @@ void HGraphBuilder::VisitDeclaration(Declaration* decl) { // We support only declarations that do not require code generation. Variable* var = decl->proxy()->var(); - if (!var->IsStackAllocated() || decl->fun() != NULL) { + if (!var->IsStackAllocated()) { return Bailout("unsupported declaration"); } if (decl->mode() == Variable::CONST) { ASSERT(var->IsStackAllocated()); environment()->Bind(var, graph()->GetConstantHole()); + } else if (decl->fun() != NULL) { + VisitForValue(decl->fun()); + HValue* function = Pop(); + environment()->Bind(var, function); } } -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
