zturner added a comment.

In https://reviews.llvm.org/D39436#912810, @clayborg wrote:

> I was unhappy when we went over two pointers for a FileSpec when m_syntax was 
> added due to the extra size. Anything we can do to make this smaller would be 
> great, so the type on the enum would work, but as you say the alignment will 
> nullify that. The two ConstString members contain a pointer which isn't 
> aligned so we can't use any bits from the low end of the pointer. Are there 
> any classes that take advantage of high bits in pointers? Most if not all 
> OS's don't use the entire 64 bit address space... It would be great to get 
> lldb_private::FileSpec down to just 2 pointers again.


`ConstString` doesn't *currently* contain aligned pointers, but there's no 
reason we couldn't make it contain aligned pointers.  Then we could use 
`llvm::PointerUnion`.

That said, I want to state again that I think this change is the wrong 
direction.  I don't think we need this functionality in `FileSpec`, or even in 
another class.  I think it is better served in the script.


https://reviews.llvm.org/D39436



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

Reply via email to