#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_graph_builder.h"
#include "third_party/blink/public/mojom/origin_trial_feature/origin_trial_feature.mojom-shared.h"
#include "third_party/blink/renderer/bindings/core/v8/generated_code_helper.h"
#include "third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h"
#include "third_party/blink/renderer/bindings/core/v8/to_v8_traits.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_set_return_value_for_core.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_arg_min_max_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_batch_normalization_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_clamp_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_context.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_conv_2d_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_conv_transpose_2d_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_elu_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_gather_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_gemm_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_graph.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_gru_cell_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_gru_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_hard_sigmoid_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_instance_normalization_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_layer_normalization_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_leaky_relu_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_linear_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_lstm_cell_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_lstm_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_operand.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_operand_data_type.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_operand_descriptor.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_operator_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_pad_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_pool_2d_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_reduce_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_resample_2d_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_split_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_transpose_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_ml_triangular_options.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/modules/ml/ml_context.h"
#include "third_party/blink/renderer/modules/ml/webnn/ml_graph.h"
#include "third_party/blink/renderer/modules/ml/webnn/ml_graph_builder.h"
#include "third_party/blink/renderer/modules/ml/webnn/ml_operand.h"
#include "third_party/blink/renderer/platform/bindings/cooperative_scheduling_helpers.h"
#include "third_party/blink/renderer/platform/bindings/exception_messages.h"
#include "third_party/blink/renderer/platform/bindings/idl_member_installer.h"
#include "third_party/blink/renderer/platform/bindings/runtime_call_stats.h"
#include "third_party/blink/renderer/platform/bindings/v8_binding.h"
#include "third_party/blink/renderer/platform/bindings/v8_object_constructor.h"
#include "third_party/blink/renderer/platform/bindings/wrapper_type_info.h"
namespace blink {
bool V8MLGraphBuilder::IsExposed(ExecutionContext* execution_context) { … }
#if defined(COMPONENT_BUILD) && defined(WIN32) && defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wglobal-constructors"
#endif
const WrapperTypeInfo V8MLGraphBuilder::wrapper_type_info_{ … };
#if defined(COMPONENT_BUILD) && defined(WIN32) && defined(__clang__)
#pragma clang diagnostic pop
#endif
const WrapperTypeInfo& MLGraphBuilder::wrapper_type_info_ = …;
static_assert …;
namespace {
namespace v8_ml_graph_builder {
void ConstructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void AbsOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void AddOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ArgMaxOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ArgMinOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void AveragePool2dOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void BatchNormalizationOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void BuildOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void CastOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void CeilOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ClampOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ConcatOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ConstantOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void Conv2dOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ConvTranspose2dOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void CosOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void DivOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void EluOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void EqualOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ErfOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ExpOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ExpandOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void FloorOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void GatherOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void GatherElementsOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void GeluOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void GemmOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void GreaterOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void GreaterOrEqualOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void GruOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void GruCellOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void HardSigmoidOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void HardSwishOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void IdentityOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void InputOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void InstanceNormalizationOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void L2Pool2dOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void LayerNormalizationOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void LeakyReluOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void LesserOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void LesserOrEqualOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void LinearOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void LogOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void LogicalNotOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void LstmOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void LstmCellOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void MatmulOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void MaxOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void MaxPool2dOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void MinOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void MulOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void NegOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void PadOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void PowOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void PreluOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReciprocalOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReduceL1OperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReduceL2OperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReduceLogSumOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReduceLogSumExpOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReduceMaxOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReduceMeanOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReduceMinOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReduceProductOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReduceSumOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReduceSumSquareOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReluOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void Resample2dOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ReshapeOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SigmoidOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SignOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SinOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SliceOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SoftmaxOperationOverload1(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SoftmaxOperationOverload2(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SoftmaxOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SoftplusOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SoftsignOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SplitOperationOverload1(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SplitOperationOverload2(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SplitOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SqrtOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SubOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void TanOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void TanhOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void TransposeOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void TriangularOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void WhereOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
}
usingnamespacev8_ml_graph_builder;
}
void V8MLGraphBuilder::InstallInterfaceTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::Template> interface_template) { … }
void V8MLGraphBuilder::InstallUnconditionalProperties(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::Template> instance_template, v8::Local<v8::Template> prototype_template, v8::Local<v8::Template> interface_template) { … }
}