DescriptionGenerators can resume
The generator object methods "next", "send", and "throw" now
include some inline assembly to set up a resumed stack frame. In some
common cases, we can just jump back into the frame to resume it.
Otherwise the resume code calls out to a runtime to fill in the operand
stack, rewind the handlers, and possibly to throw an exception.
BUG=v8:2355
TESTS=mjsunit/harmony/generators-iteration
Committed: http://code.google.com/p/v8/source/detail?r=14415
Patch Set 1 #Patch Set 2 : Remove close(); add tests; implement throw(); implement generator states #Patch Set 3 : Add missing test file #Patch Set 4 : Rebase; some changes were incorporated into other CLs #Patch Set 5 : Don't fuzz %_GeneratorSend / %_GeneratorThrow #Patch Set 6 : Harmonize throw() tests with next()/send() tests #Patch Set 7 : Add ARM port (untested) #Patch Set 8 : Rebase now that the suspend patch has landed #Patch Set 9 : Fix to use sentinel values #Patch Set 10 : ia32 fixups #
Total comments: 26
Patch Set 11 : React to feedback; rewrite tests #Patch Set 12 : Fix attempted use of new() in tests #
Total comments: 2
Patch Set 13 : Use Abort() instead of int3() #
Created: 7 years, 8 months ago
Messages
Total messages: 10 (0 generated)
|