Index: src/full-codegen/mips64/full-codegen-mips64.cc |
diff --git a/src/full-codegen/mips64/full-codegen-mips64.cc b/src/full-codegen/mips64/full-codegen-mips64.cc |
index 91f9b6cd5a31ed8fd34c393ed65d867aab9d76f8..b31e93a8f4c98c2b8be3506b58c17ca844c00a3b 100644 |
--- a/src/full-codegen/mips64/full-codegen-mips64.cc |
+++ b/src/full-codegen/mips64/full-codegen-mips64.cc |
@@ -1843,11 +1843,10 @@ void FullCodeGenerator::VisitYield(Yield* expr) { |
__ jmp(&suspend); |
__ bind(&continuation); |
- // When we arrive here, the stack top is the resume mode and |
- // result_register() holds the input value (the argument given to the |
- // respective resume operation). |
+ // When we arrive here, v0 holds the generator object. |
__ RecordGeneratorContinuation(); |
- __ pop(a1); |
+ __ ld(a1, FieldMemOperand(v0, JSGeneratorObject::kResumeModeOffset)); |
+ __ ld(v0, FieldMemOperand(v0, JSGeneratorObject::kInputOffset)); |
__ Branch(&resume, eq, a1, Operand(Smi::FromInt(JSGeneratorObject::kNext))); |
__ Push(result_register()); |
__ Branch(&exception, eq, a1, |