[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. 

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list