| Index: src/full-codegen/x87/full-codegen-x87.cc
|
| diff --git a/src/full-codegen/x87/full-codegen-x87.cc b/src/full-codegen/x87/full-codegen-x87.cc
|
| index 485ce9e8dcf217d756e0c9be2fec1a773fae684b..f5b50d15bf6ed555aae843dcc910b5d0ce8ff9e4 100644
|
| --- a/src/full-codegen/x87/full-codegen-x87.cc
|
| +++ b/src/full-codegen/x87/full-codegen-x87.cc
|
| @@ -1752,11 +1752,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)));
|
|
|