| Index: src/full-codegen/full-codegen.cc
|
| diff --git a/src/full-codegen/full-codegen.cc b/src/full-codegen/full-codegen.cc
|
| index 2d7ad3255b9d46c72e5b7c762d22f637afa6d91d..a6ba01d6b7dc6b322d8ba6741ec6b7822587dc51 100644
|
| --- a/src/full-codegen/full-codegen.cc
|
| +++ b/src/full-codegen/full-codegen.cc
|
| @@ -1032,17 +1032,12 @@ void FullCodeGenerator::EmitUnwindAndReturn() {
|
|
|
| void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
|
| bool pretenure) {
|
| - // Use the fast case closure allocation code that allocates in new
|
| - // space for nested functions that don't need literals cloning. If
|
| - // we're running with the --always-opt or the --prepare-always-opt
|
| + // If we're running with the --always-opt or the --prepare-always-opt
|
| // flag, we need to use the runtime function so that the new function
|
| // we are creating here gets a chance to have its code optimized and
|
| // doesn't just get a copy of the existing unoptimized code.
|
| - if (!FLAG_always_opt &&
|
| - !FLAG_prepare_always_opt &&
|
| - !pretenure &&
|
| - scope()->is_function_scope() &&
|
| - info->num_literals() == 0) {
|
| + if (!FLAG_always_opt && !FLAG_prepare_always_opt && !pretenure &&
|
| + scope()->is_function_scope()) {
|
| FastNewClosureStub stub(isolate(), info->language_mode(), info->kind());
|
| __ Move(stub.GetCallInterfaceDescriptor().GetRegisterParameter(0), info);
|
| __ CallStub(&stub);
|
|
|