-
Notifications
You must be signed in to change notification settings - Fork 344
[lldb] Refactor Module::LookupInfo constructor #3240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: stable/20210726
Are you sure you want to change the base?
[lldb] Refactor Module::LookupInfo constructor #3240
Conversation
Module::LookupInfo's constructor currently goes over supported languages trying to figure out the best way to search for a symbol name. This seems like a great candidate for refactoring. Specifically, this is work that can be delegated to language plugins. Once again, the goal here is to further decouple plugins from non-plugins. The idea is to have each language plugin take a name and give you back some information about the name from the perspective of the language. Specifically, each language now implements a `GetFunctionNameInfo` method which returns an object of type `Language::FunctionNameInfo`. Right now, it consists of a basename and a FunctionNameType. Module::LookupInfo's constructor will call `GetFunctionNameInfo` with the appropriate language plugin(s) and then decide what to do with that information. I have attempted to maintain existing behavior as best as possible. A nice side effect of this change is that lldbCore no longer links against the ObjC Language plugin. Differential Revision: https://reviews.llvm.org/D108229
Thank you! You will need to also land this on the |
@swift-ci test |
The builds completed but I can't tell if my patch introduced the build failures unfortunately. I'm having a hard time reproducing the failures on my local machine. Any insight here @adrian-prantl? I'll open a PR against |
@swift-ci test |
1 similar comment
@swift-ci test |
@swift-ci please test |
I've had the chance to actually run the tests on my local machine now and my patch(es) cause 2 tests to fail for sure:
When debugging exactly what caused the failures, I found some interesting behavior in @adrian-prantl I believe my patch to implement |
…Language::MethodName to break lldb-server dependencies This patch addresses the issue llvm#129543. After this patch the size of lldb-server is reduced by 9MB. Based on swiftlang#3240 by @bulbazord Alex Langford
…Language::MethodName to break lldb-server dependencies This patch addresses the issue llvm#129543. After this patch the size of lldb-server is reduced by 9MB. Based on swiftlang#3240 by @bulbazord Alex Langford
A few weeks ago I wrote a patch refactoring Module::LookupInfo's constructor 1. I had to revert it because the patch had some issues but now I am ready to re-land a revised version of it to llvm.org. In addition to that patch, I have another patch that should preserve swift functionality here.
Please let me know if I should change something (code, different branch, etc). I don't think I have the ability to trigger tests anymore, so if somebody could do that for me I would greatly appreciate it.
cc @adrian-prantl