-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Meta: Heap traversal and dumping #803
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Requirements
There are requirements for heap traversal / heap dumping / object dumping:
ObjectSpace.each_object
IterateThroughHeap
ObjectSpace.dump(obj)
(from given obj)ObjectSpace.dump_all
(from roots)rb_ractor_make_shareable
rb_objspace_reachable_objects_from
rb_objspace_reachable_objects_from_root
FollowReferences
(from given object or all roots, depending on parameter)Traversal mode
This is about both implementation and the API. Some requirements (such as
ObjectSpace.each_object
) can only be implemented in one way or another. Others (such as debugging) can use either way.Time
Whether it happens at mutator time or GC time will have an impact on the implementation, such as synchornisation or the possibility of missing any newly allocated objects.
The text was updated successfully, but these errors were encountered: