0f348e5592
* src/ast.h: * src/parser.cc: Differentiate between the different kinds of yields, in anticipation of boxing return values. Parse `return' into `yield' in a generator. * src/runtime.h: * src/runtime.cc (Runtime_SuspendJSGeneratorObject): New horrible runtime function: saves continuation, context, and operands into the generator object. * src/arm/full-codegen-arm.cc (VisitYield): * src/ia32/full-codegen-ia32.cc (VisitYield): * src/x64/full-codegen-x64.cc (VisitYield): Arrange to call SuspendJSGeneratorObject. If the call returns the hole, we suspend. Otherwise we resume. BUG=v8:2355 TEST=These codepaths are tested when the generator is first invoked, and so are covered by mjsunit/harmony/generators-objects.js. Review URL: https://codereview.chromium.org/13704010 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 |
||
---|---|---|
.. | ||
block-conflicts.js | ||
block-const-assign.js | ||
block-early-errors.js | ||
block-for.js | ||
block-lazy-compile.js | ||
block-leave.js | ||
block-let-crankshaft.js | ||
block-let-declaration.js | ||
block-let-semantics.js | ||
block-scoping.js | ||
collections.js | ||
debug-blockscopes.js | ||
debug-evaluate-blockscopes.js | ||
debug-function-scopes.js | ||
generators-objects.js | ||
generators-parsing.js | ||
generators-runtime.js | ||
module-linking.js | ||
module-parsing.js | ||
module-recompile.js | ||
module-resolution.js | ||
object-observe.js | ||
proxies-example-membrane.js | ||
proxies-for.js | ||
proxies-function.js | ||
proxies-hash.js | ||
proxies-json.js | ||
proxies-symbols.js | ||
proxies.js | ||
symbols.js | ||
typedarrays.js | ||
typeof.js |