1. 17 Oct, 2017 1 commit
  2. 22 Sep, 2017 1 commit
  3. 30 Aug, 2017 1 commit
  4. 14 Aug, 2017 1 commit
    • Ulan Degenbaev's avatar
      [heap] Refactor object marking state (part 2). · 19ae2fc1
      Ulan Degenbaev authored
      This follows up 4af9cfcc by separating incremental marking state
      from the full MC marking state. Runtime and tests now use only
      the incremental marking state. The full MC marking state used
      by MC during atomic pause.
      
      This separation decouples atomicity of markbit accesses
      during incremental marking and during full MC.
      
      Bug: chromium:694255
      TBR: mlippautz@chromium.org
      Change-Id: Ia409ab06515cd0d1403a272a016633295c0d6692
      Reviewed-on: https://chromium-review.googlesource.com/612350
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47336}
      19ae2fc1
  5. 10 Aug, 2017 2 commits
    • Ulan Degenbaev's avatar
      [heap] Fix atomicity of IterateAndScavengePromotedObject · 468d5faa
      Ulan Degenbaev authored
      Bug: chromium:694255
      TBR: mlippautz@chromium.org
      No-Tree-Checks: true
      No-Try: true
      Change-Id: I720dcc79c4cb8c1cbd7dd6e6de4c6113c363b2f0
      Reviewed-on: https://chromium-review.googlesource.com/610561
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47295}
      468d5faa
    • Ulan Degenbaev's avatar
      [heap] Refactor object marking state. · 4af9cfcc
      Ulan Degenbaev authored
      This patch merges ObjectMarking and MarkingState. The new marking state
      encapsulates object marking, live byte tracking, and access atomicity.
      
      The old ObjectMarking calls are now replaced with calls to marking
      state. For example:
      ObjectMarking::WhiteToGrey<kAtomicity>(obj, marking_state(obj)
      becomes
      marking_state()->WhiteToGrey(obj)
      
      This simplifies custom handling of live bytes and allows to chose
      atomicity of markbit accesses depending on collector's state.
      
      This also decouples marking bitmap from the marking code, which will
      allows in future to use different data-structure for mark-bits.
      
      Bug: chromium:694255
      Change-Id: Ifb4bc0144187bac1c08f6bc74a9d5c618fe77740
      Reviewed-on: https://chromium-review.googlesource.com/602132
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47288}
      4af9cfcc
  6. 27 Jul, 2017 1 commit
  7. 24 Jul, 2017 1 commit
  8. 20 Jul, 2017 1 commit
  9. 17 Jul, 2017 2 commits
  10. 12 Jul, 2017 2 commits
  11. 10 Jul, 2017 2 commits
  12. 03 Jul, 2017 1 commit
  13. 30 Jun, 2017 1 commit
    • Michael Lippautz's avatar
      [heap] Redo scavenging logic · ebc98f7f
      Michael Lippautz authored
      Replace the second level visitation with a much simpler logic that
      just separately dispatches the special cases. All other cases can
      use a dispatch that just evacuates an object based on size.
      
      This is similar to the logic used in the mark-compact collector. The
      goal is to align behaviors as much as possible, highlighting and 
      fixing performance issues in the different behaviors.
      
      This CL is mechanical as possible. A followup will clean
      up the naming scheme and dispatching.
      
      Bug: chromium:738368
      Change-Id: Ia5a426c5ebb25230000b127580c300c97cff8b1b
      Reviewed-on: https://chromium-review.googlesource.com/558060
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46364}
      ebc98f7f
  14. 26 Jun, 2017 1 commit
    • hans's avatar
      Make some functions that are hit during renderer startup available for inlining · 777da354
      hans authored
      This is towards closing the perf gap between the MSVC build (which uses link-
      time optimization) and Clang (where LTO isn't ready on Windows yet). We did
      a study (see bug) to see which non-inlined functions are hit a lot during render
      start-up, and which would be inlined during LTO. This should benefit performance
      in all builds which currently don't use LTO (Android, Linux, Mac) as well as
      the Win/Clang build.
      
      The binary size of chrome_child.dll increases by 2KB with this.
      
      BUG=chromium:728324
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng
      
      Review-Url: https://codereview.chromium.org/2950993002
      Cr-Commit-Position: refs/heads/master@{#46229}
      777da354
  15. 25 Jun, 2017 1 commit
  16. 23 Jun, 2017 1 commit
    • hans's avatar
      Make some functions that are hit during renderer startup available for inlining · d00d52be
      hans authored
      This is towards closing the perf gap between the MSVC build (which uses link-
      time optimization) and Clang (where LTO isn't ready on Windows yet). We did
      a study (see bug) to see which non-inlined functions are hit a lot during render
      start-up, and which would be inlined during LTO. This should benefit performance
      in all builds which currently don't use LTO (Android, Linux, Mac) as well as
      the Win/Clang build.
      
      The binary size of chrome_child.dll increases by 2KB with this.
      
      BUG=chromium:728324
      
      Review-Url: https://codereview.chromium.org/2950993002
      Cr-Commit-Position: refs/heads/master@{#46191}
      d00d52be
  17. 21 Jun, 2017 1 commit
  18. 14 Jun, 2017 1 commit
    • Caitlin Potter's avatar
      Reland "[builtins] port Promise.all to CSA" · 8ada7538
      Caitlin Potter authored
      Simplifies the implementation of IteratorClose in IteratorBuiltinsAssembler, and makes clear that it is only invoked when an exception occurs. Adds exception handling support to GetIterator, IteratorStep, and IteratorCloseOnException.
      
      Moves the Promise.all resolveElement closure and it's caller to
      builtins-promise-gen.cc.
      
      Instead of creating an internal array (and copying its elements into a
      result
      array), a single JSArray is allocated, and appended with
      BuildAppendJSArray(),
      falling back to %CreateDataProperty(), and elements are updated in the
      resolve
      closure the same way. This should always be unobservable.
      
      This CL increases the size of snapshot_blob.bin on an x64.release build
      by 8.51kb
      
      BUG=v8:5343
      R=cbruni@chromium.org, gsathysa@chromium.org, jgruber@chromium.org, hpayer@chromium.org, tebbi@chromium.org
      
      Change-Id: I29c4a529154ef49ad65555ce6ddc2c5b7c9de6b3
      Reviewed-on: https://chromium-review.googlesource.com/508473
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45946}
      8ada7538
  19. 03 May, 2017 1 commit
  20. 28 Apr, 2017 1 commit
  21. 27 Apr, 2017 1 commit
    • ulan's avatar
      [heap] Introduce HeapVisitor interface. · 8ff8d674
      ulan authored
      HeapVisitor is similar to StaticVisitor but uses virtual dispatch
      instead of static function table. It is intended as replacement
      of StaticVisitor using the CRTP.
      
      This CL also changes the concurrent marker to use the HeapVisitor.
      
      BUG=chromium:709075
      
      Review-Url: https://codereview.chromium.org/2808093003
      Cr-Commit-Position: refs/heads/master@{#44948}
      8ff8d674
  22. 25 Apr, 2017 2 commits
    • ulan's avatar
      Add a host parameter to ObjectVisitor methods. · c59f78f6
      ulan authored
      This makes an ObjectVisitor as powerful as a StaticVisitor and allows
      slots recording in ObjectVisitor.
      
      This patch also renames VisitCell method of ObjectVisitor to
      VisitCellPointer, so that VisitCell is free to be used for actually
      visiting a cell.
      
      BUG=chromium:709075
      
      Review-Url: https://codereview.chromium.org/2810653002
      Cr-Commit-Position: refs/heads/master@{#44860}
      c59f78f6
    • ulan's avatar
      Decouple root visitors from object visitors. · e671ed36
      ulan authored
      This patch adds a new interface called RootVisitor and changes the root
      iteration functions to accept a RootVisitor instead of an ObjectVisitor.
      
      Future CLs will change ObjectVisitor to provide the host object to all
      visiting functions, which will bring it in sync with static visitors.
      
      Having separate visitors for roots and objects removes ambiguity in
      VisitPointers and reduces chances of forgetting to record slots.
      
      This is intended as pure refactoring. All places that require behavior
      change are marked with TODO and will addressed in future CLs.
      
      BUG=chromium:709075
      
      Review-Url: https://codereview.chromium.org/2801073006
      Cr-Commit-Position: refs/heads/master@{#44852}
      e671ed36
  23. 07 Apr, 2017 1 commit
  24. 06 Apr, 2017 1 commit
  25. 29 Mar, 2017 1 commit
  26. 24 Mar, 2017 1 commit
  27. 10 Mar, 2017 1 commit
  28. 02 Mar, 2017 1 commit
  29. 23 Feb, 2017 1 commit
  30. 20 Jan, 2017 3 commits
  31. 19 Jan, 2017 1 commit
  32. 12 Jan, 2017 1 commit
  33. 11 Jan, 2017 1 commit