This is an archive of the discontinued LLVM Phabricator instance.

Fix a comment for ValueObject::GetValueDidChange after r231526
ClosedPublic

Authored by ki.stfu on Mar 10 2015, 9:10 AM.

Diff Detail

Event Timeline

ki.stfu updated this revision to Diff 21589.Mar 10 2015, 9:10 AM
ki.stfu retitled this revision from to Fix a comment for ValueObject::GetValueDidChange after r231526.
ki.stfu updated this object.
ki.stfu edited the test plan for this revision. (Show Details)
ki.stfu added a reviewer: jingham.
ki.stfu added subscribers: jingham, Unknown Object (MLST).
jingham edited edge metadata.Mar 10 2015, 10:09 AM

I'm not sure what you mean by "You need to update its value before." That's not a complete sentence. I'd just leave that out.

I'm not sure what you mean by "You need to update its value before." That's not a complete sentence. I'd just leave that out.

I meant "You need to update its value first".

Ok, I'll prepare a new patch.

ki.stfu updated this revision to Diff 21598.Mar 10 2015, 10:15 AM
ki.stfu edited edge metadata.

some changes

That's fine.

Jim

ki.stfu accepted this revision.Mar 10 2015, 10:25 AM
ki.stfu added a reviewer: ki.stfu.
This revision is now accepted and ready to land.Mar 10 2015, 10:25 AM
ki.stfu closed this revision.Mar 10 2015, 10:26 AM

A better comment might be:

"Values that persist between stops, like local variables in a function in a specific stack frame, can say if the value has changed. A SBValue must have been previously asked to retrieve its value via GetValue(), GetSummary(), GetValueAsSigned(), GetValueAsUnsigned(), or GetLocation() before it can answer if a value has changed on subsequent stops or after expression evaluation. Any SBValue that returns NULL from SBValue::GetValue() is considered to not have a value. Aggregate values like structs, unions, classes, and arrays fall into this category. The SBValue objects for these values and will never return "true" for a call to GetValueDidChange() as the code would need to compute all child values and ask if any child values have changed in order to correctly return the result. This can be very expensive to calculate and could cause IDEs with variable views displaying many variables to incur performance problems if the variables are not expanded in the GUI. If this functionality is desired, the current SBValue API can be used to iterate across all children and ask each child SBValue if each one has changed."