| Index: src/full-codegen/ia32/full-codegen-ia32.cc
|
| diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc
|
| index 101e0c336a0335cb7ee8dd23455dc77718ccd076..4a09fdb396ddb0a598b073530948cdf6d5ce9bb3 100644
|
| --- a/src/full-codegen/ia32/full-codegen-ia32.cc
|
| +++ b/src/full-codegen/ia32/full-codegen-ia32.cc
|
| @@ -1760,11 +1760,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, eax holds the generator object.
|
| __ RecordGeneratorContinuation();
|
| - __ pop(ebx);
|
| + __ mov(ebx, FieldOperand(eax, JSGeneratorObject::kResumeModeOffset));
|
| + __ mov(eax, FieldOperand(eax, JSGeneratorObject::kInputOffset));
|
| STATIC_ASSERT(JSGeneratorObject::kNext < JSGeneratorObject::kReturn);
|
| STATIC_ASSERT(JSGeneratorObject::kThrow > JSGeneratorObject::kReturn);
|
| __ cmp(ebx, Immediate(Smi::FromInt(JSGeneratorObject::kReturn)));
|
|
|