MIPS: Implement yield* (delegating yield)
authorpalfia@homejinni.com <palfia@homejinni.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 17 May 2013 01:10:09 +0000 (01:10 +0000)
committerpalfia@homejinni.com <palfia@homejinni.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 17 May 2013 01:10:09 +0000 (01:10 +0000)
commit22fe386d6f1861c2a459785336a17a0010a24417
tree0e0585f882fb5e5a32ab8e4848b8f008674ccb3b
parentc84ac4e260f6bf370ff79190b1898f6939a20a7a
MIPS: Implement yield* (delegating yield)

Port r14669 (b64ce42a)

Original commit message:
Ideally this would have been implemented via desugaring at parse-time,
but yield* is an expression, and its desugaring includes statements like
while and try/catch.  We'd have to have BlockExpression in the AST to
support that, and it's not worth it for this feature.

So instead we implement all of the logic in
FullCodeGenerator::VisitYield.  Delegating yield AST nodes now have a
try handler index, for the try/catch.  Otherwise the implementation is
straightforward.

BUG=

Review URL: https://codereview.chromium.org/15210004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/mips/full-codegen-mips.cc