DavidSpickett wrote:

I agree with the ultimate goal of being able to control the handling of 
non-address bits, but help me understand this part:
> However, the CFA inside StackIDs is also used in other contexts through the 
> method StackID::GetCallFrameAddress. One notable case is DWARFExpression: the 
> computation of DW_OP_call_frame_address is done using StackID. This feeds 
> into many other places, e.g. expression evaluation (which may require a 
> signed pointer). As such, StackID must be able to provide both versions of 
> the CFA.

Is this because this pointer may be used to work out the address of variables 
and if we had for example, a memory tagged stack variable, its address must 
preserve that tag so we can access it.

That sort of thing?

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

Reply via email to