1. 05 Nov, 2014 1 commit
  2. 29 Oct, 2014 3 commits
  3. 15 Oct, 2014 1 commit
  4. 14 Jul, 2014 1 commit
  5. 03 Jul, 2014 1 commit
  6. 27 Jun, 2014 1 commit
  7. 28 May, 2014 1 commit
  8. 19 May, 2014 1 commit
  9. 14 May, 2014 1 commit
  10. 09 May, 2014 1 commit
  11. 02 May, 2014 4 commits
  12. 29 Apr, 2014 2 commits
  13. 14 Apr, 2014 1 commit
  14. 13 Mar, 2014 1 commit
  15. 11 Mar, 2014 1 commit
  16. 08 Mar, 2014 3 commits
  17. 12 Feb, 2014 1 commit
    • rafaelw@chromium.org's avatar
      V8 Microtask Queue & API · 6b5a4cde
      rafaelw@chromium.org authored
      This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue".
      
      It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to
      
      -schedule a microtask (EnqueueExternalMicrotask)
      -run the microtask queue (RunMicrotasks)
      -control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks).
      
      R=dcarney@chromium.org, rossberg@chromium.org, dcarney, rossberg, svenpanne
      BUG=
      
      Review URL: https://codereview.chromium.org/154283002
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      6b5a4cde
  18. 07 Feb, 2014 1 commit
  19. 04 Feb, 2014 1 commit
  20. 08 Jan, 2014 1 commit
    • rafaelw@chromium.org's avatar
      Minor Object.observe optimizations · 902a0592
      rafaelw@chromium.org authored
      This patch includes the follow two minor optimizations:
      
      1) When Object.unobserve-ing, instead of deleting from changeObservers, set the index position to null, and null-check when iterating elsewhere
      2) Isolate creation of null-proto objects inside a utility function
      
      These former (deleting) was clearly showing up in d8 --prof traces and the later was preventing optimization of containing functions because of non-standard literal. Combined, on MDV construction/teardown benchmark, saves about 10%.
      
      Note that this patch also cleans up retrieving objectInfo inside a utility function.
      
      R=rossberg@chromium.org, rossberg
      BUG=
      
      Review URL: https://codereview.chromium.org/123523002
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      902a0592
  21. 27 Nov, 2013 1 commit
  22. 06 Nov, 2013 1 commit
  23. 05 Nov, 2013 2 commits
  24. 17 Oct, 2013 1 commit
  25. 13 Sep, 2013 1 commit
  26. 11 Sep, 2013 2 commits
  27. 10 Sep, 2013 1 commit
    • adamk@chromium.org's avatar
      This patch implements optimized objectInfo structure which manages the set of... · 9139e1a8
      adamk@chromium.org authored
      This patch implements optimized objectInfo structure which manages the set of observers associated with an object and the changeRecord types which they accept.
      
      Observation in the normal case (Object.observe, default accept types, one observer) now allocates fewer objects and unobservation no longer needs to scan and splice an InternalArray -- making the combined speed of observe/unobserve about 200% faster.
      
      This patch implements the following optimizations:
      
      -objectInfo is initially created without any connected objects or arrays. The first observer is referenced directly by objectInfo, and when a second observer is added, changeObservers converts to a mapping of callbackPriority->observer, which allows for constant time registration/de-registration.
      
      -observer.accept and objectInfo.performing are conceptually the same data-structure. This is now directly represented as an abstract "TypeMap" which can later be optimized to be a smi in common cases, (e.g:   https://codereview.chromium.org/19269007/).
      
      -objectInfo observers are only represented by an object with an accept typeMap if the set of accept types is non-default
      
      R=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/19541010
      
      Patch from Rafael Weinstein <rafaelw@chromium.org>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      9139e1a8
  28. 04 Sep, 2013 2 commits
  29. 26 Aug, 2013 1 commit