1. 18 Oct, 2019 1 commit
  2. 04 Oct, 2019 1 commit
  3. 28 May, 2019 1 commit
  4. 27 May, 2019 1 commit
    • Clemens Hammacher's avatar
      [cleanup] Replace simple typedefs by using · a335f2ae
      Clemens Hammacher authored
      This replaces all typedefs that define types and not functions by the
      equivalent "using" declaration.
      
      This was done mostly automatically using this command:
      ag -l '\btypedef\b' src test | xargs -L1 \
           perl -i -p0e 's/typedef ([^*;{}]+) (\w+);/using \2 = \1;/sg'
      
      Patchset 2 then adds some manual changes for typedefs for pointer types,
      where the regular expression did not match.
      
      R=mstarzinger@chromium.org
      TBR=yangguo@chromium.org, jarin@chromium.org
      
      Bug: v8:9183
      Change-Id: I6f6ee28d1793b7ac34a58f980b94babc21874b78
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631409
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61849}
      a335f2ae
  5. 23 May, 2019 3 commits
  6. 22 May, 2019 1 commit
  7. 17 May, 2019 1 commit
  8. 16 May, 2019 2 commits
  9. 24 Apr, 2019 1 commit
  10. 23 Apr, 2019 2 commits
  11. 10 Apr, 2019 1 commit
  12. 08 Apr, 2019 1 commit
  13. 15 Feb, 2019 1 commit
  14. 12 Feb, 2019 1 commit
  15. 30 Jan, 2019 1 commit
  16. 29 Jan, 2019 1 commit
    • Michael Lippautz's avatar
      [api, global-handles] Add TracedGlobal · 76c93685
      Michael Lippautz authored
      TracedGlobal integrates with the use case of EmbedderHeapTracer and replaces
      regular weak Global or Persistent nodes for such cases. This allows to simplify
      the case for regular weak handles in a sense that they follow regular weak
      semantics (if the underlying object is otherwise unreachable the weak handle
      will be reset).
      
      TracedGlobal requires slightly different semantics in the sense that it can be
      required to keep them alive on Scavenge garbage collections because there's a
      transitive path that is only known when using the EmbedderHeapTracer.
      TracedGlobal accomodates that use case.
      
      TracedGlobal follows move semantics and can thus be used in regular std
      containers without wrapping data structure.
      
      The internal state uses 20% less memory and allows for only iterating those
      nodes when necessary. The design trades the virtual call when iterating
      interesting persistents in the GC prologue with calling out through the
      EmbedderHeapTracer for each node which is also a virtual call. There is one less
      iteration over the set of handles required though and the design is robust
      against recursive GCs that mutate the embedder state during the prologue
      callback.
      
      Bug: chromium:923361
      Change-Id: Idbacfbe4723cd12af9de21058a4792e51dc4df74
      Reviewed-on: https://chromium-review.googlesource.com/c/1425523
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59183}
      76c93685
  17. 24 Jan, 2019 1 commit
  18. 23 Jan, 2019 2 commits
  19. 21 Jan, 2019 1 commit
  20. 20 Dec, 2018 1 commit
  21. 23 Jul, 2018 1 commit
  22. 10 Jul, 2018 1 commit
  23. 02 Jul, 2018 1 commit
  24. 09 Apr, 2018 1 commit
  25. 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
  26. 20 Nov, 2017 1 commit
  27. 17 Nov, 2017 1 commit
  28. 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
  29. 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
  30. 02 Nov, 2017 1 commit
  31. 14 Aug, 2017 1 commit
  32. 06 Mar, 2017 1 commit
  33. 02 Mar, 2017 1 commit
  34. 09 Jan, 2017 1 commit