7854b01473
This commit adds finalizers to the custom allocator. Compared to the existing solution: * The finalizer queue is replaced by an AtomicStack<ExtraObjectData>. * All objects with finalizers get meta objects attached. This was not previously the case for CleanerImpl, but is now needed to link objects together in the finalization queue. * The finalizer queue is built during SweepExtraObjects, instead of during regular sweeping. * Cleaners are executed by the finalizer thread, and no longer by a separate worker thread. Co-authored-by: Troels Lund <troels@google.com> Merge-request: KOTLIN-MR-592 Merged-by: Alexander Shabalin <alexander.shabalin@jetbrains.com>