Skip to content
This repository was archived by the owner on Jan 9, 2025. It is now read-only.

GC Live Object Check#402

Merged
fh-ms merged 6 commits intomasterfrom
bugfix/gc-live-object-check
Aug 9, 2022
Merged

GC Live Object Check#402
fh-ms merged 6 commits intomasterfrom
bugfix/gc-live-object-check

Conversation

@fh-ms
Copy link
Copy Markdown
Contributor

@fh-ms fh-ms commented Aug 9, 2022

Add live object check to GC. Ensures retaining of objects in storage when still live in VM. Additional regression concurrency fix.
Finally fixes all remaining GC issues, brings it out of the experimental stage and activates it by default.

fh-ms added 4 commits August 2, 2022 10:34
Implemented a callback to the application-side ObjectRegistry for the GC sweep to check before deleting an entity.
Also, storers are kept alive until the next sweep is completed to guarantee at least one strong reference to everything they reference locally / stored.
Tested to work as intended and not cause regression problems.
Changed ObjectRegistry to use a dual-locking strategy with an additional internal mutex that can never cause deadlocks and the storage thread only requiring that instead of the process-spanning "big" / "outer" lock.
@fh-ms fh-ms added the enhancement New feature or request label Aug 9, 2022
@fh-ms fh-ms added this to the 07.01.00 milestone Aug 9, 2022
@fh-ms fh-ms requested review from hg-ms and zdenek-jonas August 9, 2022 07:30
@fh-ms fh-ms self-assigned this Aug 9, 2022
@fh-ms fh-ms requested a review from zdenek-jonas August 9, 2022 07:47
@fh-ms fh-ms merged commit eb34ca8 into master Aug 9, 2022
@fh-ms fh-ms deleted the bugfix/gc-live-object-check branch August 9, 2022 09:08
fh-ms added a commit that referenced this pull request Aug 9, 2022
Add live object check to GC. Ensures retaining of objects in storage when still live in VM. Additional regression concurrency fix.
Finally fixes all remaining GC issues, brings it out of the experimental stage and activates it by default.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants