Index: src/full-codegen/mips/full-codegen-mips.cc |
diff --git a/src/full-codegen/mips/full-codegen-mips.cc b/src/full-codegen/mips/full-codegen-mips.cc |
index 99b2355583981ebc099834dbc98aa0ab590f0f59..1a917a09d807a23d4637a3366ed9d948d15be291 100644 |
--- a/src/full-codegen/mips/full-codegen-mips.cc |
+++ b/src/full-codegen/mips/full-codegen-mips.cc |
@@ -1842,11 +1842,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); |
+ __ lw(a1, FieldMemOperand(v0, JSGeneratorObject::kResumeModeOffset)); |
+ __ lw(v0, FieldMemOperand(v0, JSGeneratorObject::kInputOffset)); |
__ Branch(&resume, eq, a1, Operand(Smi::FromInt(JSGeneratorObject::kNext))); |
__ Push(result_register()); |
__ Branch(&exception, eq, a1, |