mgorny added inline comments.

================
Comment at: lldb/include/lldb/Target/DynamicRegisterInfo.h:82
+  llvm::iterator_range<reg_collection::iterator> Registers() {
+    return llvm::iterator_range<reg_collection::iterator>(m_regs);
+  }
----------------
labath wrote:
> mgorny wrote:
> > ted wrote:
> > > mgorny wrote:
> > > > labath wrote:
> > > > > Could this return const iterators? It seems we already have some 
> > > > > non-const accessors, but I'd rather not propagate that..
> > > > It can't — we're using these iterators to augment register infos ;-).
> > > Maybe make a non-const protected, and a const public, so random plugin 
> > > #37 can't modify register info?
> > That would work for me; however, we'd have to make `ABI` and 
> > `DynamicRegisterInfo` `friend`s then. @labath, what do you thik?
> Yeah, I forgot what motivated this change...
> 
> I don't think friending would work the way you imagined it (one would need 
> some extra tricks) as friendship is not inherited by subclasses. That 
> wouldn't be the end of the world, but I am hoping we can come with a better 
> solution.
> 
> So, currently we have this `RemoteRegisterInfo` struct as a kind of a 
> DynamicRegisterInfo precursor. What if the ABI classes operated on that 
> instead ? Besides solving the visibility issues (this data isn't live yet, so 
> we're free to modify it as we see fit), I'm hoping it would also make things 
> simpler as the data hasn't been converted to the C format yet. We could move 
> RemoteRegisterInfo to the DynamicRegisterInfo class (and rename it to 
> something else, obviously) so that it's visible to everyone involved.
> 
> Currently Finalization happens very close to the point where we convert the 
> remote format, so I'm hoping this wouldn't be too hard to implement. The 
> presence of the `HardcodeARMRegisters` calls complicates things a bit. The 
> main difference would be that these hardcoded registers wouldn't go through 
> the augmentation process (without additional refactoring), but from the looks 
> of it, they don't actually need any augmentation, so we could just let them 
> float.
> 
> WDYT?
Sure, I'll see if this can be done cleanly.


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

https://reviews.llvm.org/D111136

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

Reply via email to