clayborg added a comment.

Sorry for the delay. I have had medical issues going on for the past month.

The hard part about Architecture vs ArchSpec is the architecture of the target 
doesn't always exactly match the arch of each module. But I agree that we need 
to be able to do more with ArchSpec level classes.

If we can get the Architecture from the inside the ArchSpec.cpp file only and 
always work through the ArchSpec class (an possible rename it to Architecture 
after get rid of the old Architecture?). There is nothing that seems target 
specific about the current lldb_private::Architecture class.

So my idea would be:
1 - add all virtual functions to from lldb_private::Architecture as normal 
members of ArchSpec. 
2 - have ArchSpec grap the the lldb_private::Architecture using info in the 
ArchSpec when it is needed for methods added in step 1 and still call through 
to the lldb_private::Architecture plug-ins 
3 - update all code that was directly accessing lldb_private::Architecture from 
the target and have them get the ArchSpec from the target instead and use that 
to make the same calls
4 - remove "Architecture *GetArchitecturePlugin()" from Target.h

My reasoning is there is no reason we need to access lldb_private::Architecture 
from a target only.


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

https://reviews.llvm.org/D70840



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

Reply via email to