1. 23 Jul, 2018 1 commit
  2. 10 Jul, 2018 1 commit
  3. 02 Jul, 2018 1 commit
  4. 09 Apr, 2018 1 commit
  5. 06 Apr, 2018 2 commits
    • Michael Achenbach's avatar
      Revert "[cleanup] Refactor the Factory" · 503e07c3
      Michael Achenbach authored
      This reverts commit f9a2e24b.
      
      Reason for revert: gc stress failures not all fixed by follow up.
      
      Original change's description:
      > [cleanup] Refactor the Factory
      > 
      > There is no good reason to have the meat of most objects' initialization
      > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
      > this CL changes the protocol between Heap and Factory to be AllocateRaw,
      > and all object initialization work after (possibly retried) successful
      > raw allocation happens in the Factory.
      > 
      > This saves about 20KB of binary size on x64.
      > 
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca
      > Reviewed-on: https://chromium-review.googlesource.com/959533
      > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52416}
      
      TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org
      
      Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52420}
      503e07c3
    • Jakob Kummerow's avatar
      [cleanup] Refactor the Factory · f9a2e24b
      Jakob Kummerow authored
      There is no good reason to have the meat of most objects' initialization
      logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
      this CL changes the protocol between Heap and Factory to be AllocateRaw,
      and all object initialization work after (possibly retried) successful
      raw allocation happens in the Factory.
      
      This saves about 20KB of binary size on x64.
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca
      Reviewed-on: https://chromium-review.googlesource.com/959533
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52416}
      f9a2e24b
  6. 20 Nov, 2017 1 commit
  7. 17 Nov, 2017 1 commit
  8. 09 Nov, 2017 1 commit
    • Michael Lippautz's avatar
      [heap] Remove independent handles · 667555c6
      Michael Lippautz authored
      Removes the handling of the flag independent. The flag will be removed in a followup.
      
      The patch changes handling of V8::PersistentBase that are set to Weak:
      - The Scavenger ignores the flag independent.
      - The Scavenger keeps alive anything that is marked as Active.
      - The Scavenger is free to drop weak handles of non-Active object if they 
        are otherwise dead.
      
      Active:
      - Any JSObject will always be marked Active.
      - Any JSApiObject will be marked Active if it has been modified (=has elements, properties, etc.)
      
      CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
      
      Bug: chromium:780749
      Change-Id: If1f547f2419930ad9400bd3b11bdbf609cb57649
      Reviewed-on: https://chromium-review.googlesource.com/741801
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarKentaro Hara <haraken@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49277}
      667555c6
  9. 06 Nov, 2017 1 commit
    • Michael Lippautz's avatar
      [heap] Introduce separate pass for reseting phantom handles on Scavenge · da5a8e3d
      Michael Lippautz authored
      Resetting phantom handles while keeping finalizers alive leads to the
      problem of eagerly resetting a handle although another finalizer keeps
      it (transitively) alive.
      
      This becomes a problem with internal pointers to Blink as without
      global handle a Blink GC is free to collect wrappables.
      
      This CL untangles finalizers handling from phantom handle resets by
      introducing a separate path for resetting.
      
      CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
      
      Bug: chromium:781728
      Change-Id: Ica138b72942698fd996c6e9fe0bdc19cc432c010
      Reviewed-on: https://chromium-review.googlesource.com/753724
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49162}
      da5a8e3d
  10. 02 Nov, 2017 1 commit
  11. 14 Aug, 2017 1 commit
  12. 06 Mar, 2017 1 commit
  13. 02 Mar, 2017 1 commit
  14. 09 Jan, 2017 1 commit
  15. 11 Nov, 2016 1 commit
  16. 07 Sep, 2016 1 commit
  17. 01 Sep, 2016 1 commit
  18. 09 May, 2016 1 commit
    • ulan's avatar
      Introduce a new phantom weakness type without finalization callback. · a6da98d8
      ulan authored
      Handles of this type are automatically reset by the garbage collector
      when their objects are not longer reachable.
      
      The motivation is to reduce pause time of external.weak_global_handles
      phase of the garbage collector by not maintaing the list of pending
      callbacks and not calling the callbacks.
      
      Local testing on discourse page of the v8.inifinite_scroll benchmark
      shows 7x improvement for this GC phase.
      
      Before:
      external.weak_global_handles
       len: 21
       min: 0.0
       max: 4.5
       avg: 0.757142857143
      
      After:
      external.weak_global_handles
       len: 21
       min: 0.0
       max: 0.5
       avg: 0.109523809524
      
      A follow-up patch will enable the new phantom handles in Chromium.
      
      BUG=chromium:608333
      LOG=NO
      
      Review-Url: https://codereview.chromium.org/1950963002
      Cr-Commit-Position: refs/heads/master@{#36095}
      a6da98d8
  19. 15 Apr, 2016 1 commit
  20. 25 Jan, 2016 1 commit
  21. 09 Dec, 2015 1 commit
  22. 07 Dec, 2015 1 commit
  23. 17 Nov, 2015 1 commit
  24. 05 Nov, 2015 1 commit
  25. 13 Jul, 2015 1 commit
  26. 04 Aug, 2014 1 commit
  27. 03 Jun, 2014 1 commit
  28. 16 Apr, 2014 1 commit
  29. 07 Feb, 2014 1 commit
  30. 03 Jan, 2014 3 commits
  31. 20 Dec, 2013 2 commits
  32. 19 Sep, 2013 2 commits
  33. 04 Sep, 2013 1 commit
  34. 26 Aug, 2013 2 commits