[Lldb-commits] [PATCH] D86899: [trace][RFC] create skeleton for thread decoder

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 2 18:46:00 PDT 2020

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.

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list