Index: src/full-codegen/x64/full-codegen-x64.cc |
diff --git a/src/full-codegen/x64/full-codegen-x64.cc b/src/full-codegen/x64/full-codegen-x64.cc |
index 69ea24b925d5c26efa83ba0bfd00bcdce045913d..248f8ee1ef02b99341cc3b3c60d2c609b3a85d97 100644 |
--- a/src/full-codegen/x64/full-codegen-x64.cc |
+++ b/src/full-codegen/x64/full-codegen-x64.cc |
@@ -1160,8 +1160,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()); |
__ Move(rbx, info); |
__ CallStub(&stub); |