clayborg added a comment.

I am not sure we need any of the classes in Trace.h: TraceInstruction, 
TraceDecodedThread, or TraceThread.

We should be able to use history thread objects for threads that are currently 
vended by TraceThread. Each thread will have a current set of hard coded stack 
frames, which is what history threads already contain.

The only reason to put anything in the Trace.h file is for things that the 
plug-in will vend and we don't need any abstractions exposed at the plug-in 
level (TraceInstruction, TraceDecodedThread). Those can be abstracted inside of 
each Trace plug-in and no one will need to make their trace data fit into a 
specific mold (TraceInstruction, TraceDecodedThread).

The way I think about it trace plug-ins should be able to:

- load from JSON + files on disk
- dump all trace data
- step/continue backward/forward and produce history threads at any time we 
stop and be able to show backtraces for any and all history threads for the 
current stop point

So none of this requires any changes to Trace.h IMHO, but I am open to 
opinions, that is just my initial train of thought.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D86899

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
  • [Lldb-commits] [PATCH] D... walter erquinigo via Phabricator via lldb-commits
    • [Lldb-commits] [PAT... Greg Clayton via Phabricator via lldb-commits

Reply via email to