1. 03 Oct, 2013 1 commit
  2. 25 Sep, 2013 1 commit
  3. 24 Sep, 2013 1 commit
  4. 23 Sep, 2013 2 commits
  5. 19 Sep, 2013 1 commit
  6. 18 Sep, 2013 1 commit
  7. 12 Sep, 2013 3 commits
  8. 03 Sep, 2013 1 commit
  9. 30 Aug, 2013 1 commit
  10. 27 Aug, 2013 1 commit
  11. 23 Aug, 2013 1 commit
  12. 20 Aug, 2013 1 commit
  13. 19 Aug, 2013 1 commit
  14. 06 Aug, 2013 1 commit
  15. 02 Aug, 2013 3 commits
  16. 22 Jul, 2013 1 commit
  17. 19 Jul, 2013 1 commit
  18. 17 Jul, 2013 2 commits
  19. 05 Jul, 2013 1 commit
  20. 03 Jul, 2013 2 commits
  21. 28 Jun, 2013 1 commit
  22. 24 Jun, 2013 2 commits
  23. 20 Jun, 2013 1 commit
    • wingo@igalia.com's avatar
      Generators: Avoid calling into runtime if operand stack is empty · 646a34e1
      wingo@igalia.com authored
      This patch makes yield sites save the resume continuation and context
      inline.  If the operand stack is empty, we can avoid a call into the
      runtime.  This also makes the SuspendJSGeneratorObject runtime function
      less magical: it just has to save the operand stack and stack handlers.
      
      This speeds up the following case by a factor of 3 or so:
      
        function* until(n) {
          for (var i = 0; i < n; i++)
            yield i;
        }
      
        function sum(iter) {
          var sum = 0;
          for (var x of iter) sum += x;
          return sum;
        }
      
        for (var i = 0; i < 10000; i++) sum(until(1000))
      
      Also, there is no more sentinel value as the generators will resume in
      the right place already, allowing me to remove the hack added to the
      --debug-code check in r14437.
      
      R=mstarzinger@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/15990004
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      646a34e1
  24. 14 Jun, 2013 2 commits
  25. 13 Jun, 2013 2 commits
  26. 12 Jun, 2013 2 commits
  27. 10 Jun, 2013 3 commits