Commit Graph
3 Commits
Author SHA1 Message Date
Alexander Shabalin cb7698a8c2 [K/N] Track current heap size ^KT-55364 2023-04-18 12:08:01 +00:00
Troels Bjerre Lund e33e1653f6 [K/N] Add design overview to custom_alloc/README and rename page types ^KT-55364
Co-authored-by: Troels Lund <troels@google.com>

Merge-request: KOTLIN-MR-626
Merged-by: Alexander Shabalin <alexander.shabalin@jetbrains.com>
2023-02-28 16:21:23 +00:00
Troels Bjerre Lund 7854b01473 [K/N] custom-alloc: handle finalizers
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>
2023-01-20 16:47:06 +00:00