[intelpt] Refactor timestamps out of `IntelPTInstruction`
authorAlisamar Husain <zrthxn@gmail.com>
Mon, 28 Mar 2022 18:20:28 +0000 (23:50 +0530)
committerAlisamar Husain <zrthxn@gmail.com>
Fri, 1 Apr 2022 16:21:42 +0000 (21:51 +0530)
commitca922a3559d7c537fefbf023b6c9fd0f8ff0ed9d
tree08ab4064a43f6efcbb73ad5a7892389c46a0ec07
parent57b101bdec15c3ed421972ddf1d10f1de3c1f8c1
[intelpt] Refactor timestamps out of `IntelPTInstruction`
Storing timestamps (TSCs) in a more efficient map at the decoded thread level to speed up TSC lookup, as well as reduce the amount of memory used by each decoded instruction. Also introduced TSC range which keeps the current timestamp valid for all subsequent instructions until the next timestamp is emitted.

Differential Revision: https://reviews.llvm.org/D122603
lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp
lldb/source/Plugins/Trace/intel-pt/DecodedThread.h
lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp
lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.h
lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
lldb/test/API/commands/trace/TestTraceDumpInfo.py
lldb/test/API/commands/trace/TestTraceLoad.py