paolosev added a comment.

In D78801#2010536 <https://reviews.llvm.org/D78801#2010536>, @ted wrote:

> Hi Paulo,
>  @clayborg asked me to look at this, because I've worked with systems that 
> have multiple address spaces. I was thinking, instead of a WebAssembly 
> specific memory read, we should implement an optional generic memory read and 
> write with memory space support.
>
> So instead of qWasmMem:frame_index;addr;len, we have something like 
> qMemSpaceRead:addr;space;len and qMemSpaceWrite:addr;space;len;data .
>
> "space" is stub dependent - it's just a number, and can mean different things 
> for different targets. It could be different modules, like you talk about 
> here, or different physical memory areas like in a Motorola 56K DSP, or 
> different ways to get at the same memory (physical/virtual/cacheable, or 
> directly controlling MESI bits instead of relying on TLB entries) like I 
> implemented in FSLDBG.
>
> If we do this, other targets that want to work with memory spaces can use 
> them instead of having to implement their own extensions.
>
> About the expression problem - the IR Interpreter doesn't handle some complex 
> expressions. It needs work, but most targets use JIT. On Hexagon, we only 
> recently enabled JIT in the compiler, and haven't done it in the debugger 
> yet, so we use the IR Interpreter for everything. Unfortunately I haven't had 
> time to dive into it to make it better.


Hi Ted,

I really like the idea of defining generic commands for reading and writing 
memory on systems with multiple address spaces! In fact there is no reason why 
that should be Wasm-specific.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78801/new/

https://reviews.llvm.org/D78801



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to