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 788c67bfa4af77d16ef4ef4969908668ba0e8298..03704d71cd2008a2362002c57665ee9c972692f0 100644 |
--- a/src/full-codegen/ia32/full-codegen-ia32.cc |
+++ b/src/full-codegen/ia32/full-codegen-ia32.cc |
@@ -1999,6 +1999,12 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator, |
VisitForAccumulatorValue(value); |
__ pop(ebx); |
+ // Store input value into generator object. |
+ __ mov(FieldOperand(ebx, JSGeneratorObject::kInputOffset), result_register()); |
+ __ mov(ecx, result_register()); |
+ __ RecordWriteField(ebx, JSGeneratorObject::kInputOffset, ecx, edx, |
+ kDontSaveFPRegs); |
+ |
// Load suspended function and context. |
__ mov(esi, FieldOperand(ebx, JSGeneratorObject::kContextOffset)); |
__ mov(edi, FieldOperand(ebx, JSGeneratorObject::kFunctionOffset)); |