Index: src/full-codegen/arm64/full-codegen-arm64.cc |
diff --git a/src/full-codegen/arm64/full-codegen-arm64.cc b/src/full-codegen/arm64/full-codegen-arm64.cc |
index 1790808cb8c3db12ee02f067b645fd25d58bc754..c743aa0f0545db436a55dafeaa3d83fa7486519e 100644 |
--- a/src/full-codegen/arm64/full-codegen-arm64.cc |
+++ b/src/full-codegen/arm64/full-codegen-arm64.cc |
@@ -4524,6 +4524,13 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator, |
VisitForAccumulatorValue(value); |
__ Pop(generator_object); |
+ // Store input value into generator object. |
+ __ Str(result_register(), |
+ FieldMemOperand(x1, JSGeneratorObject::kInputOffset)); |
+ __ Mov(x2, result_register()); |
+ __ RecordWriteField(x1, JSGeneratorObject::kInputOffset, x2, x3, |
+ kLRHasBeenSaved, kDontSaveFPRegs); |
+ |
// Load suspended function and context. |
__ Ldr(cp, FieldMemOperand(generator_object, |
JSGeneratorObject::kContextOffset)); |