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); |