Description* src/generator.js: Add methods and intialization for generator meta-objects.
* src/contexts.h:
* src/bootstrapper.cc (InitializeExperimentalGlobal): Make generator
meta-objects, and store maps for constructing generator functions
and their prototypes.
* src/factory.h:
* src/factory.cc (MapForNewFunction): New helper.
(NewFunctionFromSharedFunctionInfo): Use the new helper.
* src/heap.cc (AllocateFunctionPrototype, AllocateInitialMap): For
generators, allocate appropriate prototypes and maps.
* src/code-stubs.h:
* src/arm/code-stubs-arm.h:
* src/arm/full-codegen-arm.h:
* src/ia32/code-stubs-ia32.h:
* src/ia32/full-codegen-ia32.h:
* src/x64/code-stubs-x64.h:
* src/x64/full-codegen-x64.h: Allow fast closure creation for generators,
using the appropriate map.
* test/mjsunit/harmony/builtins.js: Add a special case for
GeneratorFunctionPrototype.prototype.__proto__.
BUG=
TEST=mjsunit/harmony/generators-runtime
Committed: http://code.google.com/p/v8/source/detail?r=14236
Patch Set 1 : Rebased patchset #Patch Set 2 : Remove unintended whitespace/indentation changes #Patch Set 3 : Generators JS runtime to separate file, to avoid overhead when no --harmony-generators #
Total comments: 10
Patch Set 4 : Use "object" instead of "iterator" in variable names in test #Patch Set 5 : Move meta-object creation to C++ in InitializeExperimentalGlobal #Patch Set 6 : Lazy allocation of generator maps and prototypes #Patch Set 7 : Allow fast closure creation for generators #
Total comments: 6
Patch Set 8 : Add Context::FunctionMapIndex; fix nits; more initialization in JS #Patch Set 9 : Explicitly add constructor properties in generator.js #
Total comments: 1
Messages
Total messages: 22 (0 generated)
|