1. 01 Jun, 2017 1 commit
  2. 22 May, 2017 1 commit
    • Michael Lippautz's avatar
      [heap] MinorMC: Identify unmodified global handles on the fly · 652c9522
      Michael Lippautz authored
      For the Scavenger we require a first pass over global handles for identifying
      unmodified nodes because the Scavenger might have already written forwarding
      pointers during scanning, making it hard to perform the proper checks.
      
      The minor MC does not mutate the object graph during marking and can thus merge
      this phase into the regular phase executed during marking roots.
      
      Furthermore, moves processing into the parallel marking phase of the minor MC
      collector.
      
      Bug: chromium:720477, chromium:651354
      Change-Id: Id33552124264e3ab0bdf34d22ac30c19c1522707
      Reviewed-on: https://chromium-review.googlesource.com/509550
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45461}
      652c9522
  3. 19 May, 2017 1 commit
  4. 11 May, 2017 3 commits
    • Michael Lippautz's avatar
      Revert "Revert "Revert "Revert "[global-handles] Remove dead code"""" · 7a88f729
      Michael Lippautz authored
      This reverts commit 682d5369.
      
      Reason for revert: Didn't see that this was the Reland... now we should be in good state.
      
      Original change's description:
      > Revert "Revert "Revert "[global-handles] Remove dead code"""
      > 
      > This reverts commit c836a95e.
      > 
      > Reason for revert: I don't think this was related.
      > 
      > Original change's description:
      > > Revert "Revert "[global-handles] Remove dead code""
      > > 
      > > This reverts commit 58020872.
      > > 
      > > Reason for revert: Turned out to be a bot issue, reverting the revert. 
      > > 
      > > Original change's description:
      > > > Revert "[global-handles] Remove dead code"
      > > > 
      > > > This reverts commit e2890c19.
      > > > 
      > > > Reason for revert: Looks like this CL causes slowdown on multiple builders, Check tests timeout and raise exceptions on the bot. Possible it is a bot issue as well, see tracking bug - https://bugs.chromium.org/p/chromium/issues/detail?id=720606
      > > > 
      > > > Original change's description:
      > > > > [global-handles] Remove dead code
      > > > > 
      > > > > Bug: chromium:720477
      > > > > Change-Id: I090168c575c41b7038af5dfba6cd8973d1154c51
      > > > > Reviewed-on: https://chromium-review.googlesource.com/501790
      > > > > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > > > > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      > > > > Cr-Commit-Position: refs/heads/master@{#45241}
      > > > 
      > > > TBR=hpayer@chromium.org,mlippautz@chromium.org,jochen@chromium.org
      > > > NOPRESUBMIT=true
      > > > NOTREECHECKS=true
      > > > NOTRY=true
      > > > Bug: chromium:720477
      > > > 
      > > > Change-Id: I92f40d8c4dbfdb5208b3068648612e8c5b97fb20
      > > > Reviewed-on: https://chromium-review.googlesource.com/502029
      > > > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
      > > > Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#45243}
      > > 
      > > TBR=hpayer@chromium.org,gdeepti@chromium.org,mlippautz@chromium.org,jochen@chromium.org,v8-reviews@googlegroups.com
      > > NOPRESUBMIT=true
      > > NOTREECHECKS=true
      > > NOTRY=true
      > > Bug: chromium:720477
      > > 
      > > Change-Id: I70e190e0c27074228a8128aa849e5a419af915e8
      > > Reviewed-on: https://chromium-review.googlesource.com/502030
      > > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
      > > Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#45244}
      > 
      > TBR=hpayer@chromium.org,gdeepti@chromium.org,mlippautz@chromium.org,jochen@chromium.org,v8-reviews@googlegroups.com
      > NOPRESUBMIT=true
      > NOTREECHECKS=true
      > NOTRY=true
      > Bug: chromium:720477
      > 
      > Change-Id: If3e4abea51d87546e25076b906a4c91e5ccf947b
      > Reviewed-on: https://chromium-review.googlesource.com/503007
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#45246}
      
      TBR=hpayer@chromium.org,gdeepti@chromium.org,mlippautz@chromium.org,jochen@chromium.org,v8-reviews@googlegroups.com
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      Bug: chromium:720477
      
      Change-Id: Id7dc886cc20b3b36ca5bb643686fe4fe2e98a3a7
      Reviewed-on: https://chromium-review.googlesource.com/503008Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45261}
      7a88f729
    • mlippautz's avatar
      [heap] MinorMC: Only iterate new space global handles for ptr updates · 4ea91a01
      mlippautz authored
      The reason we need this mode is that IterateRoots for the Scavenger only
      captures dependent weak nodes. This is also what we do for marking for the
      minor MC.
      
      Since the regular marking might also mark objects that are weakly
      (non-dependently) pointed to by nodes we need to capture all of them during
      pointers updating. The reason this works for the Scavenger is because we do one
      pass at the end of the scavenger (combined with resetting) that captures all
      those nodes.
      
      BUG=chromium:651354
      
      Review-Url: https://codereview.chromium.org/2869413002
      Cr-Commit-Position: refs/heads/master@{#45248}
      4ea91a01
    • Michael Lippautz's avatar
      Revert "Revert "Revert "[global-handles] Remove dead code""" · 682d5369
      Michael Lippautz authored
      This reverts commit c836a95e.
      
      Reason for revert: I don't think this was related.
      
      Original change's description:
      > Revert "Revert "[global-handles] Remove dead code""
      > 
      > This reverts commit 58020872.
      > 
      > Reason for revert: Turned out to be a bot issue, reverting the revert. 
      > 
      > Original change's description:
      > > Revert "[global-handles] Remove dead code"
      > > 
      > > This reverts commit e2890c19.
      > > 
      > > Reason for revert: Looks like this CL causes slowdown on multiple builders, Check tests timeout and raise exceptions on the bot. Possible it is a bot issue as well, see tracking bug - https://bugs.chromium.org/p/chromium/issues/detail?id=720606
      > > 
      > > Original change's description:
      > > > [global-handles] Remove dead code
      > > > 
      > > > Bug: chromium:720477
      > > > Change-Id: I090168c575c41b7038af5dfba6cd8973d1154c51
      > > > Reviewed-on: https://chromium-review.googlesource.com/501790
      > > > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > > > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#45241}
      > > 
      > > TBR=hpayer@chromium.org,mlippautz@chromium.org,jochen@chromium.org
      > > NOPRESUBMIT=true
      > > NOTREECHECKS=true
      > > NOTRY=true
      > > Bug: chromium:720477
      > > 
      > > Change-Id: I92f40d8c4dbfdb5208b3068648612e8c5b97fb20
      > > Reviewed-on: https://chromium-review.googlesource.com/502029
      > > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
      > > Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#45243}
      > 
      > TBR=hpayer@chromium.org,gdeepti@chromium.org,mlippautz@chromium.org,jochen@chromium.org,v8-reviews@googlegroups.com
      > NOPRESUBMIT=true
      > NOTREECHECKS=true
      > NOTRY=true
      > Bug: chromium:720477
      > 
      > Change-Id: I70e190e0c27074228a8128aa849e5a419af915e8
      > Reviewed-on: https://chromium-review.googlesource.com/502030
      > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
      > Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#45244}
      
      TBR=hpayer@chromium.org,gdeepti@chromium.org,mlippautz@chromium.org,jochen@chromium.org,v8-reviews@googlegroups.com
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      Bug: chromium:720477
      
      Change-Id: If3e4abea51d87546e25076b906a4c91e5ccf947b
      Reviewed-on: https://chromium-review.googlesource.com/503007Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45246}
      682d5369
  5. 10 May, 2017 3 commits
  6. 25 Apr, 2017 1 commit
    • 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
  7. 07 Apr, 2017 1 commit
  8. 22 Mar, 2017 1 commit
  9. 17 Mar, 2017 1 commit
    • titzer's avatar
      [rename] Rename internal field to embedder field. · 72e53936
      titzer authored
      This CL renames all occurrences of "internal field" to "embedder field"
      to prevent confusion. As it turns out, these fields are not internal to
      V8, but are actually embedder provided fields that should not be mucked
      with by the internal implementation of V8.
      
      Note that WASM does use these fields, and it should not.
      
      BUG=v8:6058
      
      Review-Url: https://codereview.chromium.org/2741683004
      Cr-Commit-Position: refs/heads/master@{#43900}
      72e53936
  10. 02 Mar, 2017 1 commit
  11. 12 Jan, 2017 1 commit
    • littledan's avatar
      [intl] Remove indirection in Intl objects · db13ed1d
      littledan authored
      With the new initialization semantics, the V8 ECMA 402 (Intl)
      implementation does not need to indirect through a symbol to
      get at the underlying object. This patch removes that indirection,
      simplifying the implementation.
      
      R=yangguo@chromium.org
      BUG=v8:5751
      CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng
      
      Review-Url: https://codereview.chromium.org/2601833002
      Cr-Commit-Position: refs/heads/master@{#42281}
      db13ed1d
  12. 18 Nov, 2016 1 commit
  13. 10 Nov, 2016 1 commit
  14. 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
  15. 06 May, 2016 1 commit
    • ulan's avatar
      [API] Remove deprecated WeakCallbackData and related functions. · 82dcb2be
      ulan authored
      This removes:
      - PersistentBase::SetWeak that takes WeakCallbackData.
        The embedders should use the version that takes WeakCallbackInfo.
      - PersistentBase::SetPhantom.
        The embedders should SetWeak that takes WeakCallbackInfo.
      
      Functions in DefaultPersistentValueMapTraits are changed to accept
      WeakCallbackInfo instead of WeakCallbackData.
      
      BUG=chromium:609808
      LOG=NO
      
      Review-Url: https://codereview.chromium.org/1953263002
      Cr-Commit-Position: refs/heads/master@{#36079}
      82dcb2be
  16. 15 Apr, 2016 1 commit
  17. 31 Mar, 2016 1 commit
  18. 09 Mar, 2016 1 commit
  19. 27 Oct, 2015 1 commit
  20. 06 Oct, 2015 1 commit
  21. 05 Oct, 2015 1 commit
  22. 30 Sep, 2015 1 commit
  23. 15 Jul, 2015 1 commit
  24. 13 Apr, 2015 1 commit
  25. 26 Mar, 2015 1 commit
  26. 09 Mar, 2015 1 commit
    • dcarney's avatar
      remove phantom naming from the api · 60c1ad02
      dcarney authored
      since the old style weakness is slated for removal, we might as well reuse the name to limit confusion.  additionally I simplified the callback type to a enum to either get internal field values or not
      
      this should be a non-breaking change with the exception of PhantomPersistentValueMap, which is unused.
      
      R=jochen@chromium.org, erikcorry@chromium.org
      
      BUG=
      
      Review URL: https://codereview.chromium.org/989153003
      
      Cr-Commit-Position: refs/heads/master@{#27084}
      60c1ad02
  27. 30 Jan, 2015 1 commit
  28. 23 Jan, 2015 1 commit
  29. 12 Jan, 2015 1 commit
  30. 18 Dec, 2014 1 commit
  31. 03 Nov, 2014 1 commit
  32. 27 Oct, 2014 2 commits
  33. 26 Aug, 2014 1 commit
  34. 04 Aug, 2014 1 commit
  35. 17 Jul, 2014 1 commit