• mstarzinger@chromium.org's avatar
    Calling a generator function returns a generator object · 591a8ec8
    mstarzinger@chromium.org authored
    * src/heap.h:
    * src/heap.cc:
    * src/objects-debug.cc:
    * src/objects-inl.h:
    * src/objects-printer.cc:
    * src/objects-visiting.cc:
    * src/objects.cc:
    * src/objects.h: Define a new object type, JSGeneratorObject.
    
    * src/factory.h:
    * src/factory.cc (NewFunctionFromSharedFunctionInfo): Generator function
      inital maps construct the new JS_GENERATOR_OBJECT_TYPE objects, not
      generic JSObjects.
    
    * src/runtime.h:
    * src/runtime.cc (Runtime_CreateJSGeneratorObject):
    * src/arm/full-codegen-arm.cc (Generate):
    * src/ia32/full-codegen-ia32.cc (Generate):
    * src/x64/full-codegen-x64.cc (Generate): Before visiting generator
      bodies, arrange to construct and return a generator object.
    
    * test/mjsunit/harmony/generators-objects.js: Add tests for the
      properties and prototype of generator objects.
    
    BUG=v8:2355
    TEST=mjsunit/harmony/generators-objects
    
    Review URL: https://codereview.chromium.org/13542002
    
    Patch from Andy Wingo <wingo@igalia.com>.
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    591a8ec8
full-codegen.cc 50.4 KB