mbucko wrote:

> > That being said, if there is something we can do to this PR to make it easy 
> > for you (Pavel) to implement this feature, we can make those changes. Like 
> > I think it would be fair to change all `PeekMemory/DoPeekMemory` over a 
> > virtual `ReadMemory/DoReadMemory` that returns a `DataExtractor` as this 
> > can easily take place of the `ArrayRef<uint8_t>` values that are returned.
> > This:
> > ```
> >   virtual llvm::ArrayRef<uint8_t> PeekMemory(lldb::addr_t low, lldb::addr_t 
> > high);
> > ```
> > 
> > 
> >     
> >       
> >     
> > 
> >       
> >     
> > 
> >     
> >   
> > Could become:
> > ```
> >   virtual DataExtractor ReadMemory(lldb::addr_t low, lldb::addr_t high);
> > ```
> > 
> > 
> >     
> >       
> >     
> > 
> >       
> >     
> > 
> >     
> >   
> > And we can adjust all users of `PeekMemory` and `DoPeakMemory` to use the 
> > the above functions?
> 
> I'm not sure which feature are you referring to now. I'm not particularly 
> worried about the `/proc/kcore` use case, as I don't know if I'll ever get to 
> that, and it will require more substantial changes anyway.
> 
> The thing I am looking into right now is the ability to make `memory find` 
> better in general, and not just for core files. My thinking is that if I can 
> implement (and I'm offering to do that) a better generic implementation of 
> `memory find` then probably the entirety of this patch becomes redundant. But 
> to know that for sure, I'd like to understand more about your motivation for 
> it. Like, what is the main problem that you're trying to solve with this? Is 
> it to fix some specific bug (my bug was that the operation aborts as soon as 
> it encounters a hole in the address space)? Or is it to make it faster? If 
> so, what level of performance would you consider satisfactory?

The purpose of this it to make the `find memory` faster for post mortem 
processes. This patch gives us nearly 100x speed up based on my tests.

https://github.com/llvm/llvm-project/pull/102536
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to