| Index: src/ia32/full-codegen-ia32.cc
|
| diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc
|
| index 82ef657c2900ebb2a89469c4751790c58509092f..7aff6e17c5b74a2bf54e54d80ea0f386e02482ea 100644
|
| --- a/src/ia32/full-codegen-ia32.cc
|
| +++ b/src/ia32/full-codegen-ia32.cc
|
| @@ -1988,10 +1988,10 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
| // [sp + 1 * kPointerSize] iter
|
| // [sp + 0 * kPointerSize] g
|
|
|
| - Label l_catch, l_try, l_resume, l_send, l_call, l_loop;
|
| + Label l_catch, l_try, l_resume, l_next, l_call, l_loop;
|
| // Initial send value is undefined.
|
| __ mov(eax, isolate()->factory()->undefined_value());
|
| - __ jmp(&l_send);
|
| + __ jmp(&l_next);
|
|
|
| // catch (e) { receiver = iter; f = iter.throw; arg = e; goto l_call; }
|
| __ bind(&l_catch);
|
| @@ -2020,14 +2020,14 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
| __ bind(&l_resume); // received in eax
|
| __ PopTryHandler();
|
|
|
| - // receiver = iter; f = iter.send; arg = received;
|
| - __ bind(&l_send);
|
| + // receiver = iter; f = iter.next; arg = received;
|
| + __ bind(&l_next);
|
| __ mov(edx, Operand(esp, 1 * kPointerSize)); // iter
|
| __ push(edx); // iter
|
| __ push(eax); // received
|
| - __ mov(ecx, isolate()->factory()->send_string()); // "send"
|
| - Handle<Code> send_ic = isolate()->builtins()->LoadIC_Initialize();
|
| - CallIC(send_ic); // iter.send in eax
|
| + __ mov(ecx, isolate()->factory()->next_string()); // "next"
|
| + Handle<Code> next_ic = isolate()->builtins()->LoadIC_Initialize();
|
| + CallIC(next_ic); // iter.next in eax
|
|
|
| // result = f.call(receiver, arg);
|
| __ bind(&l_call);
|
| @@ -2129,7 +2129,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
|
|
| // If we are sending a value and there is no operand stack, we can jump back
|
| // in directly.
|
| - if (resume_mode == JSGeneratorObject::SEND) {
|
| + if (resume_mode == JSGeneratorObject::NEXT) {
|
| Label slow_resume;
|
| __ cmp(edx, Immediate(0));
|
| __ j(not_zero, &slow_resume);
|
|
|