Manage the lifetime of DkmClrValue objects#343
Merged
amcasey merged 24 commits intodotnet:masterfrom Feb 10, 2015
Merged
Conversation
This change deletes code we use to determine if a rule set file is one that shipped with VS, and thus cannot be modified or deleted. It was largely copied from code in Microsoft.VisualStudio.CodeAnalysis.Sdk.UI.dll, and we should just use the original instead.
…ring interpolation
NavigateTo doesn't support cancellation when computing the display properties so the cancellation token is getting removed rather than having to manually handling OperationCanceledException.
Fix dotnet#308 and dotnet#306 - issues with dynamic expressions in string interpolation
Delete our copy of IsBuiltInRuleSet
Remove cancellation token from NavigateTo
It is likely the character was inserted by accident. There is no reason to use it in the code. It is a valid Unicode whitespace, but not a valid ASCII. Since the containing file has no encoding bytemarks, the behavior of this char is dependent on default encoding. Indeed, the file compiles on Windows and fails on Linux. As far as I could find, this is the only case where this character is used in actual code (not in tests) in Roslyn codebase.
We need to attach the same information to DkmEvaluationResults and DkmEvaluationResultEnumContexts, but they have different lifetimes. Enum contexts, which are, in some sense, the children of evaluation results are closed first. As such we don't want to clean up our attached information until the evaluation result is closed. When we are informed that this has happened (by a call to EvalResultDataItem.OnClose), we call Close on the associated DkmClrValue. We hope that actively managing the lifetime of DkmClrValue instances will improve perf by reducing the amount of work that the debugger has to do on each evaluation (which is proportional to the number of live DkmClrValues). Unfortunately, this will not improve perf in the large-array case because DkmEvaluationResults are not closed as they are scrolled out of view. Associated with DevDiv #1094428 (not yet on GitHub).
Member
Author
|
@CharlesStoner, you might be interested. |
Replace nonbreaking space (0xA0) with a regular space.
Member
Author
|
If you construct it in GetChildren, won't it be re-constructed for every call to GetChildren (e.g. when scrolling or collapsing and re-expanding)? This way, it's guaranteed to be constructed exactly once for each evaluation result. |
Conflicts: src/Roslyn.sln
disable some tests due to interface tests.
…operties before checking for null.
Add MetadataVisualizer project to Roslyn solutions
fix vsct file to not have dupliate button definitions
while creating pull request, I left out this change
We need to attach the same information to DkmEvaluationResults and DkmEvaluationResultEnumContexts, but they have different lifetimes. Enum contexts, which are, in some sense, the children of evaluation results are closed first. As such we don't want to clean up our attached information until the evaluation result is closed. When we are informed that this has happened (by a call to EvalResultDataItem.OnClose), we call Close on the associated DkmClrValue. We hope that actively managing the lifetime of DkmClrValue instances will improve perf by reducing the amount of work that the debugger has to do on each evaluation (which is proportional to the number of live DkmClrValues). Unfortunately, this will not improve perf in the large-array case because DkmEvaluationResults are not closed as they are scrolled out of view. Associated with DevDiv #1094428 (not yet on GitHub).
amcasey
added a commit
that referenced
this pull request
Feb 10, 2015
Manage the lifetime of DkmClrValue objects
AArnott
pushed a commit
to AArnott/roslyn
that referenced
this pull request
Feb 14, 2015
***NO_CI*** (changeset 1387165)
dibarbet
pushed a commit
to dibarbet/roslyn
that referenced
this pull request
Nov 21, 2025
Merge main to microbuild
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.
We need to attach the same information to DkmEvaluationResults and
DkmEvaluationResultEnumContexts, but they have different lifetimes. Enum
contexts, which are, in some sense, the children of evaluation results, are
closed first. As such, we don't want to clean up our attached information
until the evaluation result is closed. When we are informed that this has
happened (by a call to EvalResultDataItem.OnClose), we call Close on the
associated DkmClrValue.
We hope that actively managing the lifetime of DkmClrValue instances will
improve perf by reducing the amount of work that the debugger has to do on
each evaluation (which is proportional to the number of live
DkmClrValues).
Unfortunately, this will not improve perf in the large-array case because
DkmEvaluationResults are not closed as they are scrolled out of view.
Associated with DevDiv #1094428 (not yet on GitHub).