Unregister PPPs when they are no longer PPPs #110
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit, together with a commit in the
ruby
repo, allows the GC to remove objects from the list of registered PPPs when they are no longer PPPs. Specifically, iseq objects will stop being PPPs since ISEQ_COMPILE_DATA_CLEAR.This commit also adds eBPF tracing extensions to track the number of PPPs and their children involved when pinning or unpinning PPP children, and the number of PPPs removed when cleaning up the PPP list, and visualize them on the generated timeline plot.