labath added inline comments.

================
Comment at: include/lldb/Core/RichManglingInfo.h:36
+  /// "a::b".
+  llvm::StringRef GetFunctionDeclContextName() const;
+
----------------
sgraenitz wrote:
> I realized that returning `llvm::StringRef` from here may not be the best 
> idea. To the outside it appears to be an immutable string, but internally it 
> will be reused and even realloc'ed. I guess returning a `ConstString` is not 
> acceptable as an alternative performance-wise, as it adds one `memcpy` per 
> query. I will sketch something here, but it's not easy as it needs to fit 
> both, the IPD and C++ MethodName.
That is a bit unfortunate, but I don't think things would be any better if you 
left this as `const char *`. AFAICT, the caller converts this to a ConstString 
anyway, so returning that type might not be such a bad choice, but I would be 
fine with just documenting that the returned string is valid until the next 
`GetXXX` call.


================
Comment at: source/Core/RichManglingInfo.cpp:93
+  case PluginCxxLanguage:
+    return get<CPlusPlusLanguage::MethodName>()->GetContext().data();
+  }
----------------
These `.data()` calls can now be removed.


================
Comment at: source/Symbol/Symtab.cpp:397
+  // The base name will be our entry's name.
+  entry.cstring = ConstString(base_name.data());
+
----------------
remove `.data()`


https://reviews.llvm.org/D50071



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

Reply via email to