[Lldb-commits] [lldb] [lldb] Change Module to have a concrete UnwindTable, update (PR #101130)

2024-08-01 Thread Jason Molenda via lldb-commits
https://github.com/jasonmolenda updated https://github.com/llvm/llvm-project/pull/101130 >From 55b1ac1fbad89ebc50038738c1e09045e9884be8 Mon Sep 17 00:00:00 2001 From: Jason Molenda Date: Mon, 29 Jul 2024 22:37:43 -0700 Subject: [PATCH 1/4] [lldb] Change Module to have a concrete UnwindTable, u

[Lldb-commits] [lldb] [lldb] Change Module to have a concrete UnwindTable, update (PR #101130)

2024-07-31 Thread via lldb-commits
https://github.com/jimingham approved this pull request. LGTM I like that you also changed "Update" to "ModuleWasUpdated", that's more accurate. `m_initialized` isn't quite the right name, it means "needs work" not "initialized" which sounds like it should happen once. If you can think of a be

[Lldb-commits] [lldb] [lldb] Change Module to have a concrete UnwindTable, update (PR #101130)

2024-07-31 Thread Jonas Devlieghere via lldb-commits
https://github.com/JDevlieghere approved this pull request. This makes sense to me. LGTM if Jim is happy. https://github.com/llvm/llvm-project/pull/101130 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman

[Lldb-commits] [lldb] [lldb] Change Module to have a concrete UnwindTable, update (PR #101130)

2024-07-30 Thread Jason Molenda via lldb-commits
jasonmolenda wrote: Thanks for the suggestion @jimingham , I pushed an update to implement that idea. https://github.com/llvm/llvm-project/pull/101130 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/lis

[Lldb-commits] [lldb] [lldb] Change Module to have a concrete UnwindTable, update (PR #101130)

2024-07-30 Thread via lldb-commits
llvmbot wrote: @llvm/pr-subscribers-lldb Author: Jason Molenda (jasonmolenda) Changes Currently a Module has a std::optional which is created when the UnwindTable is requested from outside the Module. The idea is to delay its creation until the Module has an ObjectFile init

[Lldb-commits] [lldb] [lldb] Change Module to have a concrete UnwindTable, update (PR #101130)

2024-07-30 Thread Jason Molenda via lldb-commits
https://github.com/jasonmolenda updated https://github.com/llvm/llvm-project/pull/101130 >From 55b1ac1fbad89ebc50038738c1e09045e9884be8 Mon Sep 17 00:00:00 2001 From: Jason Molenda Date: Mon, 29 Jul 2024 22:37:43 -0700 Subject: [PATCH 1/3] [lldb] Change Module to have a concrete UnwindTable, u

[Lldb-commits] [lldb] [lldb] Change Module to have a concrete UnwindTable, update (PR #101130)

2024-07-30 Thread Jason Molenda via lldb-commits
jasonmolenda wrote: > It is a little odd that the laziness of the UnwindTable itself gets defeated > by Update, which forces the Initialize even if the unwind table isn't > currently being requested. I could add an ivar `m_module_has_updated` which is set when a new ObjectFile/SymbolFileVendo

[Lldb-commits] [lldb] [lldb] Change Module to have a concrete UnwindTable, update (PR #101130)

2024-07-30 Thread Jason Molenda via lldb-commits
@@ -64,7 +64,7 @@ class UnwindTable { private: void Dump(Stream &s); - void Initialize(); + void Initialize(bool force = false); jasonmolenda wrote: Yeah I'm not thrilled with the terminology I used. But I had `Initialize` which assumed no unwind source

[Lldb-commits] [lldb] [lldb] Change Module to have a concrete UnwindTable, update (PR #101130)

2024-07-30 Thread via lldb-commits
jimingham wrote: So the strategy here is the UnwindTable class calls its `Initialize()` any time a client wants to use an UnwindTable so that it can be lazily filled. Then Module calls `UnwindTable::Update()` any time something gets added to the module that might change the unwind table. Th

[Lldb-commits] [lldb] [lldb] Change Module to have a concrete UnwindTable, update (PR #101130)

2024-07-30 Thread via lldb-commits
@@ -64,7 +64,7 @@ class UnwindTable { private: void Dump(Stream &s); - void Initialize(); + void Initialize(bool force = false); jimingham wrote: This needs a comment explaining what you are forcing. https://github.com/llvm/llvm-project/pull/101130 _