#include "src/trace_processor/importers/common/virtual_memory_mapping.h"
#include <cstddef>
#include <cstdint>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include "perfetto/base/logging.h"
#include "perfetto/ext/base/string_view.h"
#include "src/trace_processor/importers/common/address_range.h"
#include "src/trace_processor/importers/common/jit_cache.h"
#include "src/trace_processor/importers/common/stack_profile_tracker.h"
#include "src/trace_processor/storage/trace_storage.h"
#include "src/trace_processor/tables/profiler_tables_py.h"
#include "src/trace_processor/types/trace_processor_context.h"
#include "src/trace_processor/util/build_id.h"
namespace perfetto {
namespace trace_processor {
namespace {
MappingId CreateMapping(TraceProcessorContext* context,
const CreateMappingParams& params) { … }
}
VirtualMemoryMapping::VirtualMemoryMapping(TraceProcessorContext* context,
CreateMappingParams params)
: … { … }
VirtualMemoryMapping::~VirtualMemoryMapping() = default;
KernelMemoryMapping::KernelMemoryMapping(TraceProcessorContext* context,
CreateMappingParams params)
: … { … }
KernelMemoryMapping::~KernelMemoryMapping() = default;
UserMemoryMapping::UserMemoryMapping(TraceProcessorContext* context,
UniquePid upid,
CreateMappingParams params)
: … { … }
UserMemoryMapping::~UserMemoryMapping() = default;
FrameId VirtualMemoryMapping::InternFrame(uint64_t rel_pc,
base::StringView function_name) { … }
std::vector<FrameId> VirtualMemoryMapping::FindFrameIds(uint64_t rel_pc) const { … }
std::pair<FrameId, bool> VirtualMemoryMapping::InternFrameImpl(
uint64_t rel_pc,
base::StringView function_name) { … }
DummyMemoryMapping::~DummyMemoryMapping() = default;
DummyMemoryMapping::DummyMemoryMapping(TraceProcessorContext* context,
CreateMappingParams params)
: … { … }
FrameId DummyMemoryMapping::InternDummyFrame(base::StringView function_name,
base::StringView source_file) { … }
}
}