[Lldb-commits] [PATCH] D158470: [lldb] Add support for recognizing swift mangled names

Jonas Devlieghere via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Aug 22 09:04:33 PDT 2023


JDevlieghere added inline comments.


================
Comment at: lldb/source/Core/Mangled.cpp:61
 
+  // Swift's older style of mangling used "_T" as a mangling prefix. This can
+  // lead to false positives with other symbols that just so happen to start
----------------
aprantl wrote:
> Feel free to completely ignore this, it's a pointless micro optimization.
> 
> I'm curious if it would be more efficient to write this as 
> 
> ```
> switch (name[0]) {
>   case '?':     return Mangled::eManglingSchemeMSVC;
>   case '_': 
>      switch(name[1]) {
>         ...
>      }
>   case '$': 
>      switch(name[1]) {
>         ...
>      }
> ```
> or if it would actually be slower than the chain of "vector" comparisons we have right now?
I actually started writing a similar comment before discarding it. Even if this code is as hot as I expect it to be, I don't think it would outweigh the complexity and the potential for bugs. I really like how you can glance at the code and see the different mangling schemes and that's the first thing we'd lose. Anyway happy to be proven wrong too. 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D158470



More information about the lldb-commits mailing list