Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] DSF stack frame levels vs indexes

Hi Mario,

Mario Pierro wrote:
Hello,

I am trying to understand the caching mechanism used by DSF 2.0 when
retrieving stack frames. Apparently for caching to work stack frames
only need to be compared by their level - at least, that's what the GDB
implementation does in MIFrameDMC.equals().

The cache implementation relies on the equals() and hashCode() being implemented for the contexts. Our reference implementation uses the stack frame level to implement the IFrame.equals(), but this is not a requirement. If you have more information about the stack frame at the time you create the frame context: e.g. the function name and argument types, you could use those to implement the equals() method, this would have the side benefit that the changed value high-lighting in the UI would be more accurate.
I have the following questions:

1. What should the getLevel() method implementation report? Is that the
number of valid stack frames that precede a given frame in the call
stack?
Yes,
2. What is the relation between the indexes passed to

public void getFrames(IDMContext execContext, int startIndex, int
endIndex, DataRequestMonitor<IFrameDMContext[]> rm);

and stack frame levels?

They're the same.
Thanks for your help!

You're welcome :-)

-Pawel
Best,

/Mario


_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev



Back to the top