Skip to content

GC: retire and destroy precise sibling realms safely #419

Description

@chrisbbreuer

Parent: #415
Depends on: #420, #421
GC parent: #144
Roadmap: #134

Complete the engine-core sibling lifecycle before #416 adopts it at the private ABI boundary.

Acceptance:

  • Stop realm jobs, timers, waiters, and threads before root retirement.
  • Remove the realm from the live root set atomically, run a synchronous full collection, and drain its deferred finalizers.
  • Release non-cell realm state and arena storage only after no owned cell can reference it.
  • Keep the heap owner alive until every sibling is retired and reject premature owner destruction.
  • Prove retained handles, shared Symbol identity, sibling reachability, exact finalization, relocation, and terminal teardown in Debug, ReleaseSafe, and TSan.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions