DavidSpickett added a comment.

The current assumption is that once you've got a valid (currently anything 
non-zero) mask then that's it, it's not going to change. I think a future 
extension could change the meaning of the existing non-address bits at runtime, 
but that wouldn't be a problem unless you're something like the tagging 
commands. 99% of the time we want to remove all non-address bits no matter what 
they mean.

Changing the virtual address size is the real problem if it ever happens but 
given that the stack is assumed to be at the top of memory, it would be 
difficult. Shrinking means cutting off/moving the stack down (with some kind of 
position independent stack?) and growing it means you can't make top of stack 
== end of memory assumptions. You could do it with some kind of fork or restart 
but I think lldb would just handle that fine like it normally does.

Side note: the "0 means not read yet" pattern seems like it could lead to some 
waste with a target that genuinely has no mask but that's not relevant to this 
change.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D122411

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

Reply via email to