Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index e0e0254b633fd658b277d676457b4ae6467ec850..9cd3bd785bf63f908b96162ff4c25920524b85fd 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -5929,7 +5929,9 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) { |
// space for nested functions that don't need literals cloning. |
Handle<SharedFunctionInfo> shared_info = instr->shared_info(); |
bool pretenure = instr->hydrogen()->pretenure(); |
- if (!pretenure && shared_info->num_literals() == 0) { |
+ if (!pretenure && |
+ shared_info->num_literals() == 0 && |
+ !shared_info->is_generator()) { |
FastNewClosureStub stub(shared_info->language_mode()); |
__ push(Immediate(shared_info)); |
CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |