| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index 4bf84a8585c0b8e8456bd0c16e4e7d4b2bc9fe32..45ffefe8358d8f56a75f40f84917a49fff20f52c 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -2247,6 +2247,15 @@ void FullCodeGenerator::VisitCall(Call* expr) {
|
| }
|
| }
|
| } else {
|
| + // Call to some other expression. If the expression is an anonymous
|
| + // function literal not called in a loop, mark it as one that should
|
| + // also use the full code generator.
|
| + FunctionLiteral* lit = fun->AsFunctionLiteral();
|
| + if (lit != NULL &&
|
| + lit->name()->Equals(isolate()->heap()->empty_string()) &&
|
| + loop_depth() == 0) {
|
| + lit->set_try_full_codegen(true);
|
| + }
|
| { PreservePositionScope scope(masm()->positions_recorder());
|
| VisitForStackValue(fun);
|
| }
|
|
|