1. 23 May, 2019 2 commits
  2. 22 May, 2019 1 commit
  3. 25 Apr, 2019 1 commit
  4. 17 Apr, 2019 1 commit
  5. 04 Apr, 2019 1 commit
  6. 29 Mar, 2019 1 commit
  7. 12 Mar, 2019 1 commit
  8. 05 Mar, 2019 1 commit
  9. 09 Jan, 2019 1 commit
  10. 26 Dec, 2018 1 commit
  11. 20 Dec, 2018 1 commit
  12. 19 Dec, 2018 1 commit
    • Ulan Degenbaev's avatar
      [heap] Optimize marking of descriptor arrays. · 0400fc20
      Ulan Degenbaev authored
      Now a descriptor array tracks the number of descriptors that were
      already marked. The marking visitor of a map only marks the subset
      of the descriptors that it needs and that are not already marked.
      
      If a descriptor array is shared between M maps and has N descriptos,
      then the number of marking operations is reduced from O(M*N) to O(N).
      
      This patch also adds a marking barrier for descriptors.
      
      The marked descriptor counter in a descriptor array is not cleared
      after mark-compact GC. Instead, it embeds two bits from the global
      mark-compact epoch counter and is considered 0 if the bits do not match
      the current value of the global epoch counter.
      
      Bug: v8:8486
      Change-Id: I2a7822a6833f3143e1d351e5e4819c2ef2c07fb0
      Reviewed-on: https://chromium-review.googlesource.com/c/1382746
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58372}
      0400fc20
  13. 17 Dec, 2018 1 commit
  14. 14 Dec, 2018 1 commit
  15. 11 Dec, 2018 1 commit
  16. 07 Dec, 2018 1 commit
  17. 05 Dec, 2018 1 commit
  18. 29 Nov, 2018 1 commit
  19. 27 Nov, 2018 1 commit
  20. 26 Nov, 2018 1 commit
  21. 25 Nov, 2018 1 commit
  22. 22 Nov, 2018 1 commit
  23. 13 Nov, 2018 1 commit
  24. 06 Nov, 2018 1 commit
  25. 26 Oct, 2018 1 commit
  26. 24 Oct, 2018 1 commit
  27. 20 Jul, 2018 1 commit
    • Caitlin Potter's avatar
      [runtime] use new CloneObject bytecode for some ObjectLiteralSpread cases · b6f7ea58
      Caitlin Potter authored
      As discussed in
      https://docs.google.com/document/d/1sBdGe8RHgeYP850cKSSgGABTyfMdvaEWLy-vertuTCo/edit?ts=5b3ba5cc#,
      
      this CL introduces a new bytecode (CloneObject), and a new IC type.
      
      In this prototype implementation, the type feedback looks like the
      following:
      
      Uninitialized case:
        { uninitialized_sentinel, uninitialized_sentinel }
      Monomorphic case:
        { weak 'source' map, strong 'result' map }
      Polymorphic case:
        { WeakFixedArray with { weak 'source' map, strong 'result' map }, cleared value }
      Megamorphic case:
        { megamorphic_sentinel, cleared_Value }
      
      In the fast case, Object cloning is done by allocating an object with
      the saved result map, and a shallow clone of the fast properties from
      the source object, as well as cloned fast elements from the source object.
      If at any point the fast case can't be taken, the IC transitions to the
      slow case and remains there.
      
      This prototype CL does not include any TurboFan optimization, and the
      CloneObject operation is merely reduced to a stub call.
      
      It may still be possible to get some further improvements by somehow
      incorporating compile-time boilerplate elements into the cloned object,
      or simplifying how the boilerplate elements are inserted into the
      object.
      
      In terms of performance, we improve the ObjectSpread score in JSTests/ObjectLiteralSpread/
      by about 8x, with substantial improvements over the Babel and ObjectAssign scores.
      
      R=gsathya@chromium.org, mvstanton@chromium.org, rmcilroy@chromium.org, neis@chromium.org, bmeurer@chromium.org
      BUG=v8:7611
      
      Change-Id: I79e1796eb77016fb4feba0e1d3bb9abb348c183e
      Reviewed-on: https://chromium-review.googlesource.com/1127472
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54595}
      b6f7ea58
  28. 12 Jul, 2018 2 commits
  29. 26 Jun, 2018 1 commit
  30. 22 Jun, 2018 2 commits
  31. 21 Jun, 2018 1 commit
  32. 19 Jun, 2018 1 commit
  33. 04 Jun, 2018 1 commit
  34. 01 Jun, 2018 2 commits
  35. 26 Apr, 2018 1 commit
  36. 23 Mar, 2018 1 commit