Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [dsdp-dd-dev] Memory service questions

Jesper Eskilson wrote:
Francois Chouinard wrote:

I didn't experience this problem when the service was designed but things might have changed since. I will try to reproduce it and come back to you. Other than opening a memory monitor and scroll it, is there anything special
about your use case?

One problem seems to be that DsfMemoryBlock does not use it's own cache if the update-policy is set to Automatic:

    private boolean isUseCacheData()
if (fUpdatePolicy.equals(DsfMemoryBlock.UPDATE_POLICY_BREAKPOINT))
            return fUseCachedData;

        if (fUpdatePolicy.equals(DsfMemoryBlock.UPDATE_POLICY_MANUAL))
            return fUseCachedData;

        return false;

This means that the DsfMemoryBlock implementation will invoke fetchMemoryBlock() for each time it's called (and when I dragged the scrollbar, I got something like 1000-2000 identical requests in a row).

Is this a bug, or an oversight?

No this is actually intentional. The cache in the memory block is used to implement the manual update policy where the memory view is updated only per request. BTW, can you elaborate more on what memory rendering you're using? When I put a trace in the Memory.getMemory(), I only see it being called once with the Hex rendering, and on the order of 10 or 100 times with the Traditional rendering. I never see it called 1000s of times.


Back to the top