summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibJS/Runtime/WeakContainer.h
AgeCommit message (Collapse)Author
2021-10-06LibJS: Add missing headersBen Wiederhake
2021-10-05LibJS: Make WeakContainer pruning do less workAndreas Kling
Instead of iterating *all* swept cells when pruning weak containers, only iterate the cells actually *in* the container. Also, instead of compiling a list of all swept cells, we can simply check the Cell::state() flag to know if something should be pruned.
2021-09-11LibJS: Tweak the WeakContainer::remove_swept_cells() API a little bitAndreas Kling
Make this API take a Span<Cell*> instead of a Vector<Cell*>&. This is behavior neutral, but stops the API looking like it wants to do mutable things to the Vector.
2021-09-10AK+Everywhere: Reduce the number of template parameters of IntrusiveListAli Mohammad Pur
This makes the user-facing type only take the node member pointer, and lets the compiler figure out the other needed types from that.
2021-07-21LibJS: Use IntrusiveList for keeping track of WeakContainersAndreas Kling
2021-06-27LibJS: Fix typo "sweeped" => "swept" everywhereAndreas Kling
2021-06-12LibJS: Add the WeakRef built-in objectIdan Horowitz
2021-06-12LibJS: Generify the garbage collector's weak container notificationsIdan Horowitz
This will allow us to use the same interface for other JS weak containers like the WeakMap & WeakRef.