jimingham wrote:

So the strategy here is the UnwindTable class calls its `Initialize()` any time 
a client wants to use an UnwindTable so that it can be lazily filled.   Then 
Module calls `UnwindTable::Update()` any time something gets added to the 
module that might change the unwind table.

That seems pretty clear.  

It is a little odd that the laziness of the UnwindTable itself gets defeated by 
Update, which forces the Initialize even if the unwind table isn't currently 
being requested.

Not sure if that matters?  If it does, Update could just tell the UnwindTable 
that next time it gets asked a question it has to reread the unwind 
information.  Maybe it could even just set m_initialized back to `false` and  
then let the lazy initialization redo the work when requested?

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

Reply via email to