Repository navigation
Add support for inspecting objects in an isolate's object store - #4513
Merged
Merged
Conversation
The object store is used to provide easy and cheap access to important
VM objects within the VM. Examples of objects stored in the object store
include:
- Code stubs (e.g., allocation paths, async/await machinery)
- References to core classes (e.g., `Null`, `Object`, `Never`)
- Common type arguments (e.g., `<String, dynamic>`)
- References to frequently accessed fields / functions (e.g.,
`_objectEquals()`, `_Enum._name`)
- Cached, per-isolate data (e.g., library URI mappings)
The object store is considered one of the GC roots by the VM's garbage
collector, meaning that objects in the store will be considered live, even
if they're not referenced anywhere else in the program.
bkonyi
requested review from
kenzieschmoll
and removed request for
kenzieschmoll
September 22, 2022 18:24
bkonyi
marked this pull request as draft
September 22, 2022 18:24
bkonyi
marked this pull request as ready for review
September 23, 2022 15:16
kenzieschmoll
approved these changes
Sep 26, 2022
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The object store is used to provide easy and cheap access to important VM objects within the VM. Examples of objects stored in the object store include:
Null,Object,Never)<String, dynamic>)_objectEquals(),_Enum._name)The object store is considered one of the GC roots by the VM's garbage collector, meaning that objects in the store will be considered live, even if they're not referenced anywhere else in the program.
The
Object Storetab under theObjectsVM tooling tab allows for users to inspect elements contained within the object store, where they may not necessarily be reachable from the program explorer. Tapping a link to an object store entry will display the entry in the object viewport and, if present in the program explorer, mark the relevantVMServiceObjectNodes as selected.