mirror of
https://github.com/RGBCube/serenity
synced 2025-10-25 00:42:33 +00:00
SafeFunction automatically registers its closure memory area in a place where the JS garbage collector can find it. This means that you can capture JS::Value and arbitrary pointers into the GC heap in closures, as long as you're using a SafeFunction, and the GC will not zap those values! There's probably some performance impact from this, and there's a lot of things that could be nicer/smarter about it, but let's build something that ensures safety first, and we can worry about performance later. :^) |
||
|---|---|---|
| .. | ||
| BlockAllocator.cpp | ||
| BlockAllocator.h | ||
| Cell.h | ||
| CellAllocator.cpp | ||
| CellAllocator.h | ||
| DeferGC.h | ||
| GCPtr.h | ||
| Handle.cpp | ||
| Handle.h | ||
| Heap.cpp | ||
| Heap.h | ||
| HeapBlock.cpp | ||
| HeapBlock.h | ||
| MarkedVector.cpp | ||
| MarkedVector.h | ||