Index: src/full-codegen/ia32/full-codegen-ia32.cc |
diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc |
index 5249b31c9f13074cc655b12eb2567385db35539d..788c67bfa4af77d16ef4ef4969908668ba0e8298 100644 |
--- a/src/full-codegen/ia32/full-codegen-ia32.cc |
+++ b/src/full-codegen/ia32/full-codegen-ia32.cc |
@@ -1134,8 +1134,11 @@ |
// 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()) { |
+ if (!FLAG_always_opt && |
+ !FLAG_prepare_always_opt && |
+ !pretenure && |
+ scope()->is_function_scope() && |
+ info->num_literals() == 0) { |
FastNewClosureStub stub(isolate(), info->language_mode(), info->kind()); |
__ mov(ebx, Immediate(info)); |
__ CallStub(&stub); |