v8/test/mjsunit/harmony/weakrefs
Seth Brenith 4d58f8acc5 Make JSFinalizationRegistry::next_dirty weak
Currently, JSFinalizationRegistry has a BodyDescriptor that iterates
next_dirty as a custom weak field, and it has a WeakListVisitor that
cleans up any items from the list that should be removed. However, none
of that code is used, because JSFinalizationRegistry objects are created
with visitor ID kVisitJSObjectFast. This change gives them a custom
visitor ID so that next_dirty can be treated as weak.

Bug: v8:12430
Change-Id: I31c1935257ad508b13a3e684662d2ca406d8ed19
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3307096
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78167}
2021-11-30 18:43:38 +00:00
..
basics-cleanupsome.js [weakrefs] Split out FinalizationRegistry#cleanupSome to a different flag 2020-04-09 00:05:07 +00:00
basics.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
cleanup-from-different-realm.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
cleanup-is-not-a-microtask.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
cleanup-on-detached-realm.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
cleanup-proxy-from-different-realm.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
cleanup.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
cleanupsome-2.js [weakrefs] Split out FinalizationRegistry#cleanupSome to a different flag 2020-04-09 00:05:07 +00:00
cleanupsome-after-unregister.js [weakrefs] Split out FinalizationRegistry#cleanupSome to a different flag 2020-04-09 00:05:07 +00:00
cleanupsome-optional.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
cleanupsome.js [weakrefs] Split out FinalizationRegistry#cleanupSome to a different flag 2020-04-09 00:05:07 +00:00
clearkeptobjects-on-quit.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
finalizationregistry-and-weakref.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
finalizationregistry-independent-lifetime-multiple.js Make JSFinalizationRegistry::next_dirty weak 2021-11-30 18:43:38 +00:00
finalizationregistry-independent-lifetime.js Add --no-concurrent-inlining to finalizationregistry test 2021-05-18 14:17:07 +00:00
finalizationregistry-keeps-holdings-alive.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
finalizationregistry-scheduled-for-cleanup-multiple-times.js Rename stress_flush_bytecode to stress_flush_code 2021-08-02 19:02:57 +00:00
multiple-dirty-finalization-groups.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
reentrant-gc-from-cleanup.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
stress-finalizationregistry-dirty-enqueue.js [weakrefs] Add test to stress enqueuing of dirty FinalizationRegistries 2020-04-28 07:53:52 +00:00
two-weakrefs.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
undefined-holdings.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
unregister-after-cleanup.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
unregister-before-cleanup.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
unregister-called-twice.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
unregister-inside-cleanup2.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
unregister-inside-cleanup3.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
unregister-inside-cleanup.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
unregister-many.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
unregister-when-cleanup-already-scheduled.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
weak-cell-basics.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
weak-unregistertoken.js [weakrefs] Split out FinalizationRegistry#cleanupSome to a different flag 2020-04-09 00:05:07 +00:00
weakref-creation-keeps-alive.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00
weakref-deref-keeps-alive.js [weakrefs] Remove --no-harmony-weak-refs flag 2021-04-08 23:10:53 +00:00