[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2020-01-23 Thread Jaroslav Sevcik via Phabricator via lldb-commits
jarin added a comment. > FWIW, the Sony debugger throws away the `` part of the DW_AT_name and > reconstructs it from the template_parameter children. The presence of > typedefs and/or enums can make the `` text inconsistent, especially > across enums. Our debugger reconstructs the

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2020-01-14 Thread Paul Robinson via Phabricator via lldb-commits
probinson added a comment. In D69309#1787994 , @friss wrote: > In D69309#1787409 , @labath wrote: > > > In D69309#1787297 , @jarin wrote: > > > > > In D69309#1752738

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-12-17 Thread Frederic Riss via Phabricator via lldb-commits
friss added a comment. In D69309#1787409 , @labath wrote: > In D69309#1787297 , @jarin wrote: > > > In D69309#1752738 , @friss wrote: > > > > > Basically, today the debug

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-12-17 Thread Jaroslav Sevcik via Phabricator via lldb-commits
jarin added a comment. In D69309#1787481 , @labath wrote: > In D69309#1787468 , @jarin wrote: > > > What Fred proposes makes a lot of sense to me, although the lookup of > > instantiations might be slow because

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-12-17 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. In D69309#1787468 , @jarin wrote: > What Fred proposes makes a lot of sense to me, although the lookup of > instantiations might be slow because there would be no accelerator for that > (but we could build one). Do we ever

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-12-17 Thread Jaroslav Sevcik via Phabricator via lldb-commits
jarin added a comment. In D69309#1787409 , @labath wrote: > In D69309#1787297 , @jarin wrote: > > > In D69309#1752738 , @friss wrote: > > > > > Basically, today the debug

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-12-17 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. In D69309#1787297 , @jarin wrote: > In D69309#1752738 , @friss wrote: > > > Basically, today the debug info will describe an entity named "Foo". > > The accelerator tables all reference

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-12-16 Thread Jaroslav Sevcik via Phabricator via lldb-commits
jarin added a comment. In D69309#1752738 , @friss wrote: > Basically, today the debug info will describe an entity named "Foo". The > accelerator tables all reference this name. So when Clang asks us if we know > "Foo" (which is what happens when

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-12-16 Thread Jaroslav Sevcik via Phabricator via lldb-commits
jarin added a comment. In D69309#1763454 , @v.g.vassilev wrote: > https://reviews.llvm.org/D41416 could be relevant. I am not an expert but I > think when reading the DWARF you could only register 'lazy' specializations > which will be imported only

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-11-28 Thread Vassil Vassilev via Phabricator via lldb-commits
v.g.vassilev added a comment. https://reviews.llvm.org/D41416 could be relevant. I am not an expert but I think when reading the DWARF you could only register 'lazy' specializations which will be imported only when really required. CHANGES SINCE LAST ACTION

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-11-25 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added a comment. I wanted to make sure that people understand about how templates are done in DWARF and the implications, just for completeness: 1. DWARF represents only specializations of templates (foo) and not the generic template definition in terms of type T (foo) 2. DWARF only

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-11-21 Thread Frederic Riss via Phabricator via lldb-commits
friss added a comment. In D69309#1754659 , @labath wrote: > In D69309#1754593 , @jarin wrote: > > > In D69309#1752738 , @friss wrote: > > > > > Sorry that I haven't reviewed

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-11-21 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor added reviewers: rsmith, v.g.vassilev. teemperor added a comment. I think this approach looks already much more feasible than the last iteration. +Richard because he knows better how `FindClassTemplateSpecialization` should look like to fit into the other lookup mechanisms we have in

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-11-21 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. In D69309#1754593 , @jarin wrote: > In D69309#1752738 , @friss wrote: > > > Sorry that I haven't reviewed the patch, but there's something I'd like to > > point out before anyone invests a

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-11-21 Thread Jaroslav Sevcik via Phabricator via lldb-commits
jarin added a comment. In D69309#1752738 , @friss wrote: > Sorry that I haven't reviewed the patch, but there's something I'd like to > point out before anyone invests a lot of time into plugin holes in our > current template support code. > > It would

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-11-19 Thread Frederic Riss via Phabricator via lldb-commits
friss added a comment. Sorry that I haven't reviewed the patch, but there's something I'd like to point out before anyone invests a lot of time into plugin holes in our current template support code. It would be great to fix the way templates are represented, because currently the debug info

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-11-19 Thread Jaroslav Sevcik via Phabricator via lldb-commits
jarin updated this revision to Diff 230069. jarin added a comment. This update introduces a callback from clang for template specialization. The callback allows lldb to construct instantiations on demand, rather than having to create the instantiation eagerly. Perhaps it would still beneficial

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-10-28 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor added a comment. Will properly review this later, but this seems like a patch that might be related to the performance issue here: https://reviews.llvm.org/D41416 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69309/new/

[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

2019-10-22 Thread Jaroslav Sevcik via Phabricator via lldb-commits
jarin created this revision. Herald added subscribers: lldb-commits, arphaman, aprantl. Herald added a project: LLDB. WORK IN PROGRESS This change is mostly for discussion, it is messy and likely wrong as I am new to the lldb codebase. The goal of this exercise is to support expressions