Debug API: switch DebugFrameCursor over to monomorphization on T, and provide AsContextMut.
#11873
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 permits use of ordinary store accessors, such as GC object accessors, while viewing the stack. In #11835 and related discussion, we've concluded that (i) it is safe to provide this mutable access, including e.g. ability to do a GC, because debugger access comes only at points that are morally like hostcalls (right now, literally with a
Caller, and eventually with debug yields); and (ii) we will need this in order to provide the full range of expected debugger functionality. Even before mutation-during-debugging comes into play, with the API before this change, it was not possible to read GC objects at all (because all accessors take a mutable store).Closes #11835 (this addresses the broader question of access from the debugger, and it seems there wasn't a desire to actually refactor as that issue initially suggested).