#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "third_party/blink/public/mojom/performance_manager/v8_detailed_memory_reporter.mojom.h"
#include <math.h>
#include <stdint.h>
#include <utility>
#include "base/debug/alias.h"
#include "base/hash/md5_constexpr.h"
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/trace_event/trace_event.h"
#include "base/trace_event/typed_macros.h"
#include "mojo/public/cpp/bindings/features.h"
#include "mojo/public/cpp/bindings/lib/default_construct_tag_internal.h"
#include "mojo/public/cpp/bindings/lib/generated_code_util.h"
#include "mojo/public/cpp/bindings/lib/message_internal.h"
#include "mojo/public/cpp/bindings/lib/proxy_to_responder.h"
#include "mojo/public/cpp/bindings/lib/send_message_helper.h"
#include "mojo/public/cpp/bindings/lib/serialization_util.h"
#include "mojo/public/cpp/bindings/lib/unserialized_message_context.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/mojo_buildflags.h"
#include "mojo/public/cpp/bindings/urgent_message_scope.h"
#include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
#include "third_party/blink/public/mojom/performance_manager/v8_detailed_memory_reporter.mojom-params-data.h"
#include "third_party/blink/public/mojom/performance_manager/v8_detailed_memory_reporter.mojom-shared-message-ids.h"
#include "third_party/blink/public/mojom/performance_manager/v8_detailed_memory_reporter.mojom-import-headers.h"
#include "third_party/blink/public/mojom/performance_manager/v8_detailed_memory_reporter.mojom-test-utils.h"
namespace blink::mojom {
PerContextV8MemoryUsage::PerContextV8MemoryUsage()
: … { … }
PerContextV8MemoryUsage::PerContextV8MemoryUsage(
const ::blink::ExecutionContextToken& token_in,
uint64_t bytes_used_in,
const std::optional<std::string>& url_in)
: … { … }
PerContextV8MemoryUsage::~PerContextV8MemoryUsage() = default;
void PerContextV8MemoryUsage::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool PerContextV8MemoryUsage::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
PerContextCanvasMemoryUsage::PerContextCanvasMemoryUsage()
: … { … }
PerContextCanvasMemoryUsage::PerContextCanvasMemoryUsage(
const ::blink::ExecutionContextToken& token_in,
uint64_t bytes_used_in)
: … { … }
PerContextCanvasMemoryUsage::~PerContextCanvasMemoryUsage() = default;
void PerContextCanvasMemoryUsage::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool PerContextCanvasMemoryUsage::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
PerIsolateV8MemoryUsage::PerIsolateV8MemoryUsage()
: … { … }
PerIsolateV8MemoryUsage::PerIsolateV8MemoryUsage(
uint64_t num_detached_contexts_in,
uint64_t detached_bytes_used_in,
uint64_t shared_bytes_used_in,
uint64_t blink_bytes_used_in,
std::vector<PerContextV8MemoryUsagePtr> contexts_in,
std::vector<PerContextCanvasMemoryUsagePtr> canvas_contexts_in)
: … { … }
PerIsolateV8MemoryUsage::~PerIsolateV8MemoryUsage() = default;
void PerIsolateV8MemoryUsage::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool PerIsolateV8MemoryUsage::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
PerProcessV8MemoryUsage::PerProcessV8MemoryUsage()
: … { … }
PerProcessV8MemoryUsage::PerProcessV8MemoryUsage(
std::vector<PerIsolateV8MemoryUsagePtr> isolates_in)
: … { … }
PerProcessV8MemoryUsage::~PerProcessV8MemoryUsage() = default;
void PerProcessV8MemoryUsage::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool PerProcessV8MemoryUsage::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char V8DetailedMemoryReporter::Name_[] = …;
V8DetailedMemoryReporter::IPCStableHashFunction V8DetailedMemoryReporter::MessageToMethodInfo_(mojo::Message& message) { … }
const char* V8DetailedMemoryReporter::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t V8DetailedMemoryReporter::GetV8MemoryUsage_Sym::IPCStableHash() { … }
# endif
class V8DetailedMemoryReporter_GetV8MemoryUsage_ForwardToCallback
: public mojo::MessageReceiver { … };
V8DetailedMemoryReporterProxy::V8DetailedMemoryReporterProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void V8DetailedMemoryReporterProxy::GetV8MemoryUsage(
V8DetailedMemoryReporter::Mode in_mode, GetV8MemoryUsageCallback callback) { … }
class V8DetailedMemoryReporter_GetV8MemoryUsage_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool V8DetailedMemoryReporter_GetV8MemoryUsage_ForwardToCallback::Accept(
mojo::Message* message) { … }
void V8DetailedMemoryReporter_GetV8MemoryUsage_ProxyToResponder::Run(
PerProcessV8MemoryUsagePtr in_memory_usage) { … }
bool V8DetailedMemoryReporterStubDispatch::Accept(
V8DetailedMemoryReporter* impl,
mojo::Message* message) { … }
bool V8DetailedMemoryReporterStubDispatch::AcceptWithResponder(
V8DetailedMemoryReporter* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kV8DetailedMemoryReporterValidationInfo[] = …;
bool V8DetailedMemoryReporterRequestValidator::Accept(mojo::Message* message) { … }
bool V8DetailedMemoryReporterResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::blink::mojom::PerContextV8MemoryUsage::DataView, ::blink::mojom::PerContextV8MemoryUsagePtr>::Read(
::blink::mojom::PerContextV8MemoryUsage::DataView input,
::blink::mojom::PerContextV8MemoryUsagePtr* output) { … }
bool StructTraits<::blink::mojom::PerContextCanvasMemoryUsage::DataView, ::blink::mojom::PerContextCanvasMemoryUsagePtr>::Read(
::blink::mojom::PerContextCanvasMemoryUsage::DataView input,
::blink::mojom::PerContextCanvasMemoryUsagePtr* output) { … }
bool StructTraits<::blink::mojom::PerIsolateV8MemoryUsage::DataView, ::blink::mojom::PerIsolateV8MemoryUsagePtr>::Read(
::blink::mojom::PerIsolateV8MemoryUsage::DataView input,
::blink::mojom::PerIsolateV8MemoryUsagePtr* output) { … }
bool StructTraits<::blink::mojom::PerProcessV8MemoryUsage::DataView, ::blink::mojom::PerProcessV8MemoryUsagePtr>::Read(
::blink::mojom::PerProcessV8MemoryUsage::DataView input,
::blink::mojom::PerProcessV8MemoryUsagePtr* output) { … }
}
namespace blink::mojom {
void V8DetailedMemoryReporterInterceptorForTesting::GetV8MemoryUsage(V8DetailedMemoryReporter::Mode mode, GetV8MemoryUsageCallback callback) { … }
V8DetailedMemoryReporterAsyncWaiter::V8DetailedMemoryReporterAsyncWaiter(
V8DetailedMemoryReporter* proxy) : … { … }
V8DetailedMemoryReporterAsyncWaiter::~V8DetailedMemoryReporterAsyncWaiter() = default;
void V8DetailedMemoryReporterAsyncWaiter::GetV8MemoryUsage(
V8DetailedMemoryReporter::Mode mode, PerProcessV8MemoryUsagePtr* out_memory_usage) { … }
PerProcessV8MemoryUsagePtr V8DetailedMemoryReporterAsyncWaiter::GetV8MemoryUsage(
V8DetailedMemoryReporter::Mode mode) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif