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 248f8ee1ef02b99341cc3b3c60d2c609b3a85d97..790d9d65a4f0734aea80a9637dce968b998eadc2 100644 |
--- a/src/full-codegen/x64/full-codegen-x64.cc |
+++ b/src/full-codegen/x64/full-codegen-x64.cc |
@@ -2021,6 +2021,13 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator, |
VisitForAccumulatorValue(value); |
__ Pop(rbx); |
+ // Store input value into generator object. |
+ __ movp(FieldOperand(rbx, JSGeneratorObject::kInputOffset), |
+ result_register()); |
+ __ movp(rcx, result_register()); |
+ __ RecordWriteField(rbx, JSGeneratorObject::kInputOffset, rcx, rdx, |
+ kDontSaveFPRegs); |
+ |
// Load suspended function and context. |
__ movp(rsi, FieldOperand(rbx, JSGeneratorObject::kContextOffset)); |
__ movp(rdi, FieldOperand(rbx, JSGeneratorObject::kFunctionOffset)); |