1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:18:11 +00:00
serenity/Libraries/LibJS/Heap
Andreas Kling a119b61782 LibJS: Add Handle<T>, a strong C++ handle for keeping GC objects alive
This is pretty heavy and unoptimized, but it will do the trick for now.
Basically, Heap now has a HashTable<HandleImpl*> and you can call
JS::make_handle(T*) to construct a Handle<T> that guarantees that the
pointee will always survive GC until the Handle<T> is destroyed.
2020-03-18 20:03:17 +01:00
..
Handle.cpp LibJS: Add Handle<T>, a strong C++ handle for keeping GC objects alive 2020-03-18 20:03:17 +01:00
Handle.h LibJS: Add Handle<T>, a strong C++ handle for keeping GC objects alive 2020-03-18 20:03:17 +01:00
Heap.cpp LibJS: Add Handle<T>, a strong C++ handle for keeping GC objects alive 2020-03-18 20:03:17 +01:00
Heap.h LibJS: Add Handle<T>, a strong C++ handle for keeping GC objects alive 2020-03-18 20:03:17 +01:00
HeapBlock.cpp LibJS: Add "Heap" and "Runtime" subdirectories 2020-03-16 14:37:19 +01:00
HeapBlock.h LibJS: Implement basic conservative garbage collection 2020-03-16 19:14:09 +01:00