1. 16 Apr, 2020 1 commit
    • Shu-yu Guo's avatar
      [weakrefs] Port FinalizationRegistry cleanup loop to Torque · dbbaccca
      Shu-yu Guo authored
      To avoid shrinking the unregister token map on each pop of the cleared
      cell list, the Torque implementation of the cleanup loop avoids
      shrinking the map until the end of the loop.
      
      To support that, PopClearedCellHoldings is refactored to the Torque
      PopClearedCell which calls the
      JSFinalization::RemoveCellFromUnregisterTokenMap and the runtime
      ShrinkFinalizationRegistryUnregisterTokenMap. The former cannot GC is
      and is implemented in CSA as a fast C call. The latter can GC and is a
      runtime call.
      
      This also incidentally makes uses of FinalizationRegistry without
      unregister token a fast path that doesn't have to leave Torque.
      
      Bug: v8:8179
      Change-Id: Ia0c3c5800d26e31319a818f164f6bd3267355aa6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2137950
      Commit-Queue: Shu-yu Guo <syg@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67161}
      dbbaccca
  2. 25 Feb, 2020 1 commit
  3. 10 Feb, 2020 1 commit
  4. 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
  5. 08 Feb, 2020 1 commit