Lines Matching refs:recordSample
277 auto recordSample = static_cast<PerfRecordSample *>(&record); in UpdateFromRecord() local
278 UpdateFromRecord(*recordSample); in UpdateFromRecord()
316 void VirtualRuntime::SymbolicCallFrame(PerfRecordSample &recordSample, uint64_t ip, in SymbolicCallFrame() argument
319 auto symbol = GetSymbol(ip, recordSample.data_.pid, recordSample.data_.tid, context); in SymbolicCallFrame()
320 MakeCallFrame(symbol, recordSample.callFrames_.emplace_back(ip, 0)); in SymbolicCallFrame()
321 HLOGV(" (%zu)unwind symbol: %*s%s", recordSample.callFrames_.size(), in SymbolicCallFrame()
322 static_cast<int>(recordSample.callFrames_.size()), "", in SymbolicCallFrame()
323 recordSample.callFrames_.back().ToSymbolString().c_str()); in SymbolicCallFrame()
326 void VirtualRuntime::SymbolicRecord(PerfRecordSample &recordSample) in SymbolicRecord() argument
332 recordSample.callFrames_.clear(); in SymbolicRecord()
334 if (recordSample.data_.nr == 0) { in SymbolicRecord()
335 SymbolicCallFrame(recordSample, recordSample.data_.ip, PERF_CONTEXT_MAX); in SymbolicRecord()
337 for (u64 i = 0; i < recordSample.data_.nr; i++) { in SymbolicRecord()
338 uint64_t ip = recordSample.data_.ips[i]; in SymbolicRecord()
347 SymbolicCallFrame(recordSample, ip, context); in SymbolicRecord()
358 void VirtualRuntime::UnwindFromRecord(PerfRecordSample &recordSample) in UnwindFromRecord() argument
363 HLOGV("unwind record (time:%llu)", recordSample.data_.time); in UnwindFromRecord()
365 if (recordSample.data_.stack_size > 0) { in UnwindFromRecord()
366 auto &thread = UpdateThread(recordSample.data_.pid, recordSample.data_.tid); in UnwindFromRecord()
367 callstack_.UnwindCallStack(thread, recordSample.data_.user_abi == PERF_SAMPLE_REGS_ABI_32, in UnwindFromRecord()
368 recordSample.data_.user_regs, recordSample.data_.reg_nr, in UnwindFromRecord()
369 recordSample.data_.stack_data, recordSample.data_.dyn_size, in UnwindFromRecord()
370 recordSample.callFrames_); in UnwindFromRecord()
374 size_t oldSize = recordSample.callFrames_.size(); in UnwindFromRecord()
375 HLOGV("unwind %zu", recordSample.callFrames_.size()); in UnwindFromRecord()
376 callstack_.ExpandCallStack(thread.tid_, recordSample.callFrames_, callstackMergeLevel_); in UnwindFromRecord()
377 HLOGV("expand %zu (+%zu)", recordSample.callFrames_.size(), in UnwindFromRecord()
378 recordSample.callFrames_.size() - oldSize); in UnwindFromRecord()
380 recordSample.ReplaceWithCallStack(oldSize); in UnwindFromRecord()
390 SymbolicRecord(recordSample); in UnwindFromRecord()
394 void VirtualRuntime::UpdateFromRecord(PerfRecordSample &recordSample) in UpdateFromRecord() argument
396 UpdateThread(recordSample.data_.pid, recordSample.data_.tid); in UpdateFromRecord()
401 UnwindFromRecord(recordSample); in UpdateFromRecord()