wallace added inline comments.
================ Comment at: lldb/source/Plugins/Process/Linux/IntelPTCollector.h:73 + /// The target process. NativeProcessProtocol &m_process; /// Threads traced due to "thread tracing" ---------------- jj10306 wrote: > Could this be moved to be a part of the new `IntelPTProcessTrace` abstract > class or is this also needed for handling `thread trace`? i can't because you the reason you mention: thread trace ================ Comment at: lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp:36 -Expected<IntelPTMultiCoreTraceUP> IntelPTMultiCoreTrace::StartOnAllCores( - const TraceIntelPTStartRequest &request) { +Expected<IntelPTProcessTraceUP> +IntelPTMultiCoreTrace::StartOnAllCores(const TraceIntelPTStartRequest &request, ---------------- jj10306 wrote: > If this now returns `IntelPTProcessTraceUP` instead of an instance of itself, > then we are basically forcing any uses of this class to be done using dynamic > polymorphism (behind the indirection of a pointer to the super class). Should > this instead return an instance of itself and then leave it up to the caller > to decide if they want to use the object directly or behind a pointer? > I know that currently the only use of this is behind the > `IntelPTProcessTraceUP` (stored on the collector), but maybe in the future we > would want to use it directly. > wdyt? > good call ================ Comment at: lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp:119-125 + // All the process' threads are being traced automatically. + return (bool)m_process.GetThreadByID(tid); +} + +llvm::Error IntelPTMultiCoreTrace::TraceStart(lldb::tid_t tid) { + // This instance is already tracing all threads automatically. + return llvm::Error::success(); ---------------- jj10306 wrote: > In `TracesThread` you check that the tid is a thread of `m_process` but in > `TraceStart` you return success for all threads without checking if it's a > part of the process. > I don't think it particularly matters if we do the check or not, but I do > think that the behavior should be consistent between these functions. ahh you are right ================ Comment at: lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.cpp:58 + +Expected<IntelPTProcessTraceUP> +IntelPTPerThreadProcessTrace::Start(const TraceIntelPTStartRequest &request, ---------------- jj10306 wrote: > same comment here as above on the other subclasss +1 ================ Comment at: lldb/source/Plugins/Process/Linux/IntelPTProcessTrace.h:19 + +// Abstract class to be inherited by all the process tracing strategies. +class IntelPTProcessTrace { ---------------- jj10306 wrote: > +1 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125503/new/ https://reviews.llvm.org/D125503 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits