kotlinx.coroutines icon indicating copy to clipboard operation
kotlinx.coroutines copied to clipboard

Replace usages of DCLL with CLL in JobSupport and friends

Open qwwdfsad opened this issue 2 years ago • 2 comments

This is a subtask required for #3886

Work outline:

  • [x] Get rid of DCSS (double compare single swap) primitive in JobSupport state transitions
  • [ ] Prototype the solution where DCSS is replaced with a straightforward usage of CLL
  • [ ] Optimize CLL footprint to be on par with DCSS in JobSupport-specific scenarios:
    • [ ] Ensure that all CompletionHandler still can subclass an internal CLL piece in order to save a node allocation if appropriate
    • [ ] Ensure that an additional DisposableHandle is not allocated on a hot-path of adding a child to a job hierarchy
  • [ ] Measure the impact of the change: throughput, footprint and the resulting DEX size

qwwdfsad avatar Sep 15 '23 12:09 qwwdfsad

Do the words DCLL and CLL mean "Doubly- [Concurrent] -Linked List" and "Concurrent Linked List"?

dkhalanskyjb avatar Sep 15 '23 14:09 dkhalanskyjb

Yes, that's it

qwwdfsad avatar Sep 15 '23 15:09 qwwdfsad