#include "src/tracing/code-data-source.h"
#include "protos/perfetto/common/data_source_descriptor.gen.h"
#include "protos/perfetto/config/chrome/v8_config.gen.h"
#include "protos/perfetto/trace/chrome/v8.pbzero.h"
#include "src/execution/isolate.h"
#include "src/handles/handles.h"
#include "src/heap/code-range.h"
#include "src/objects/function-kind.h"
#include "src/objects/script.h"
#include "src/objects/shared-function-info.h"
#include "src/objects/string-inl.h"
#include "src/tracing/perfetto-logger.h"
#include "src/tracing/perfetto-utils.h"
PERFETTO_DEFINE_DATA_SOURCE_STATIC_MEMBERS(…);
namespace v8 {
namespace internal {
namespace {
V8Config;
InternedV8JsFunction;
InternedV8JsScript;
InternedV8String;
TracePacket;
InternedV8JsScript::Type GetJsScriptType(Tagged<Script> script) { … }
InternedV8JsFunction::Kind GetJsFunctionKind(FunctionKind kind) { … }
}
void CodeDataSourceIncrementalState::Init(
const CodeDataSource::TraceContext& context) { … }
void CodeDataSourceIncrementalState::FlushInternedData(
CodeDataSource::TraceContext::TracePacketHandle& packet) { … }
uint64_t CodeDataSourceIncrementalState::InternIsolate(Isolate& isolate) { … }
uint64_t CodeDataSourceIncrementalState::InternJsScript(Isolate& isolate,
Tagged<Script> script) { … }
uint64_t CodeDataSourceIncrementalState::InternJsFunction(
Isolate& isolate, Handle<SharedFunctionInfo> info,
uint64_t v8_js_script_iid, int line_num, int column_num) { … }
uint64_t CodeDataSourceIncrementalState::InternWasmScript(
Isolate& isolate, int script_id, const std::string& url) { … }
uint64_t CodeDataSourceIncrementalState::InternJsFunctionName(
Tagged<String> function_name) { … }
void CodeDataSource::Register() { … }
void CodeDataSource::OnSetup(const SetupArgs& args) { … }
void CodeDataSource::OnStart(const StartArgs&) { … }
void CodeDataSource::OnStop(const StopArgs&) { … }
}
}