jasonmolenda added a comment.

In D155269#4509364 <https://reviews.llvm.org/D155269#4509364>, @DavidSpickett 
wrote:

> I think in https://reviews.llvm.org/D154926, 
> `lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_static_config/TestSVERegisters.py`
>  addresses this. If what you mean is you are stopped in streaming mode, you 
> evaluate an expression that may call a function which takes you into another 
> mode.

Oh it sounds like you've already been thinking about this, no worries.  I was 
thinking about the mere act of restoring the register state.  When lldb does a 
function call, it saves all of the register contents, does the function call, 
then restores the registers.  This was traditionally done with the g/G 
(read/write the entire register context), if that is supported by the stub.  
Alternatively registers can all be read/written individually.  As a 
simplification of all of this, and to avoid using g/G, we added 
QSaveRegisterState which tells the stub (debugserver etc) to save the current 
register context, and then after the inferior function call has completed, 
QRestoreRegisterState to restore them all.

In the process of restoring / writing the registers, I expect we will try to 
write the floating point register contents into the process which would drop it 
out of SSVE mode?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D155269

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

Reply via email to