1. 25 Feb, 2020 1 commit
  2. 10 Feb, 2020 1 commit
  3. 09 Feb, 2020 1 commit
    • Michael Achenbach's avatar
      Revert "[weakrefs] Schedule FinalizationGroup cleanup tasks from within V8" · 72fc962b
      Michael Achenbach authored
      This reverts commit 31d8ff7a.
      
      Reason for revert: https://crbug.com/v8/10190
      
      Original change's description:
      > [weakrefs] Schedule FinalizationGroup cleanup tasks from within V8
      > 
      > Deprecate the following explicit FinalizationGroup APIs in favor of
      > automatic handling of FinalizationGroup cleanup callbacks:
      >   - v8::Isolate::SetHostCleanupFinalizationGroupCallback
      >   - v8::FinaliationGroup::Cleanup
      > 
      > If no HostCleanupFinalizationGroupCallback is set, then
      > FinalizationGroup cleanup callbacks are automatically scheduled by V8
      > itself as non-nestable foreground tasks.
      > 
      > When a Context being disposed, all FinalizationGroups that are
      > associated with it are removed from the dirty list, cancelling
      > scheduled cleanup.
      > 
      > Bug: v8:8179
      > Change-Id: Ic09313a11dd00af36d1f698250b3d735155f45e8
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986392
      > Commit-Queue: Shu-yu Guo <syg@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#66184}
      
      TBR=ulan@chromium.org,rmcilroy@chromium.org,syg@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:8179
      Change-Id: If7869e9a5841803c10e748691f019a7d28f3b62e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2043807Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66190}
      72fc962b
  4. 08 Feb, 2020 1 commit
  5. 30 Jul, 2019 1 commit
    • Sathya Gunasekaran's avatar
      [WeakRefs] Make cleanup callback run as a task · 743ce772
      Sathya Gunasekaran authored
      Previously, this was run as a microtask and this CL changes it to run
      as a separate task as mandated by the current WeakRef spec.
      
      This CL also introduces a FinalizationGroup type to the V8 API
      representing the JSFinalizationGroup. This has a `Cleanup`
      function that runs the cleanup callback associated with it.
      
      SetHostCleanupFinalizationGroupCallback is added to set
      the embedder defined HostCleanupFinalizationGroupCallback.
      
      ClearKeptObject is exposed on the v8::Isolate to reset the strongly
      held set of objects.
      
      The general workflow is the following:
      
      (a) When the GC notices that a given finalization group has dirty
          cells, it calls HostCleanupFinalizationGroupCallback with the given
          finalization group.
      
      (b) As part of HostCleanupFinalizationGroupCallback, the embedder
          enqueues a task that at some point later calls
          FinalizationGroup::Cleanup.
      
      (c) At some point in the future, FinalizationGroup::Cleanup is called,
          which runs the cleanup callback of the finalization group.
      
      This patch also includes d8 changes to use these new APIs. Currently,
      d8 cycles through the enqueued finalization groups after a synchronous
      turn (and it's microtask checkpoint) and runs the cleanup callbacks.
      
      Change-Id: I06eb4da2c103b2792a9c62bc4b98fd4e5c4892fc
      Bug: v8:8179
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1655655
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62984}
      743ce772
  6. 19 Apr, 2019 1 commit