Index: src/full-codegen/x87/full-codegen-x87.cc |
diff --git a/src/full-codegen/x87/full-codegen-x87.cc b/src/full-codegen/x87/full-codegen-x87.cc |
index 526f3c6096e5d1bf64098f4c756419157ba984bf..93e9a9977e47e51970cc40e8a7b555e84bb2b197 100644 |
--- a/src/full-codegen/x87/full-codegen-x87.cc |
+++ b/src/full-codegen/x87/full-codegen-x87.cc |
@@ -1991,6 +1991,12 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator, |
VisitForAccumulatorValue(value); |
__ pop(ebx); |
+ // Store input value into generator object. |
+ __ mov(FieldOperand(ebx, JSGeneratorObject::kInputOffset), result_register()); |
+ __ mov(edx, result_register()); |
+ __ RecordWriteField(ebx, JSGeneratorObject::kInputOffset, edx, ecx, |
+ kDontSaveFPRegs); |
+ |
// Load suspended function and context. |
__ mov(esi, FieldOperand(ebx, JSGeneratorObject::kContextOffset)); |
__ mov(edi, FieldOperand(ebx, JSGeneratorObject::kFunctionOffset)); |