1. 11 Feb, 2014 1 commit
  2. 10 Feb, 2014 1 commit
  3. 31 Jan, 2014 1 commit
  4. 28 Jan, 2014 1 commit
  5. 21 Jan, 2014 1 commit
  6. 17 Jan, 2014 1 commit
  7. 07 Jan, 2014 1 commit
  8. 23 Dec, 2013 1 commit
  9. 05 Dec, 2013 1 commit
  10. 26 Nov, 2013 1 commit
  11. 23 Oct, 2013 1 commit
  12. 14 Oct, 2013 3 commits
  13. 01 Oct, 2013 1 commit
  14. 30 Sep, 2013 2 commits
  15. 25 Sep, 2013 1 commit
  16. 19 Sep, 2013 1 commit
  17. 05 Sep, 2013 1 commit
  18. 02 Sep, 2013 1 commit
  19. 16 Aug, 2013 1 commit
  20. 05 Aug, 2013 1 commit
  21. 19 Jul, 2013 1 commit
    • palfia@homejinni.com's avatar
      Fix unaligned accesses in back_edge tables. · 4c3269a4
      palfia@homejinni.com authored
      This patch fixes the step size of masm->pc_ in back_edge tables to words (4 bytes) to ensure 4 bytes alignment for read/write operations. Read and write of words (4 bytes) data from aligned space (address % 4 == 0) is more efficient on all platforms and especially on MIPS where without this alignment fix a kernel exception handler is used for every unaligned access.
      
      This patch increases the size of back_edge tables by 3 bytes in every row. By the test it seem the back_edge table quite small in every/most cases (maximal length is 18 so in that case there are only 54 additional bytes with this patch).
      
      BUG=
      
      Patch from Douglas Leung <Douglas.Leung@imgtec.com>
      
      Review URL: https://codereview.chromium.org/19248002
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      4c3269a4
  22. 17 Jul, 2013 1 commit
  23. 05 Jul, 2013 1 commit
  24. 28 Jun, 2013 1 commit
  25. 24 Jun, 2013 1 commit
  26. 12 Jun, 2013 2 commits
  27. 10 Jun, 2013 1 commit
  28. 07 Jun, 2013 1 commit
  29. 06 Jun, 2013 1 commit
  30. 24 May, 2013 1 commit
  31. 26 Apr, 2013 1 commit
    • mstarzinger@chromium.org's avatar
      Fix yield inside with · 885fd2f4
      mstarzinger@chromium.org authored
      This patch makes it so that suspending generators always saves the
      context.  Previously we erroneously assumed that if the operand stack
      was empty, that the context would be unchanged, but that is not the case
      with "with".
      
      Fixing this brought out an interesting bug in the variable allocator.
      Yield inside with will reference a context-allocated temporary holding
      the generator object.  Before the fix, this object was looked up in the
      with context instead of the function context, because with contexts were
      not being simulated during full-codegen.  Previously this was OK as all
      variables would be given LOOKUP allocation instead of CONTEXT, but the
      context-allocated temporary invalidated this assumption.  The fix is to
      simulate the context chain more accurately in full-codegen.
      
      R=mstarzinger@chromium.org
      BUG=v8:2355
      TEST=mjsunit/harmony/generators-iteration
      
      Review URL: https://codereview.chromium.org/14416011
      
      Patch from Andy Wingo <wingo@igalia.com>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      885fd2f4
  32. 24 Apr, 2013 1 commit
  33. 19 Apr, 2013 1 commit
    • mstarzinger@chromium.org's avatar
      Generator objects can suspend · 0f348e55
      mstarzinger@chromium.org authored
      * 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
      0f348e55
  34. 15 Apr, 2013 1 commit
    • 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
  35. 10 Apr, 2013 1 commit
  36. 02 Apr, 2013 1 commit
    • mstarzinger@chromium.org's avatar
      Add parser support for generators. · 2816f196
      mstarzinger@chromium.org authored
      This patchset begins by adding support for "yield", which is unlike other tokens
      in JS. In a generator, whether strict or classic, it is a syntactic keyword.
      In classic mode it is an identifier. In strict mode it is reserved.
      
      This patch adds YIELD as a token to the scanner, and adapts the preparser and
      parser appropriately. It also parses "function*", indicating that a function is
      actually a generator, for both eagerly and lazily parsed functions.
      
      Currently "yield" just compiles as "return".
      
      BUG=v8:2355
      TEST=mjsunit/harmony/generators-parsing
      
      Review URL: https://codereview.chromium.org/12646003
      Patch from Andy Wingo <wingo@igalia.com>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      2816f196