#include "src/objects/templates.h"
#include <algorithm>
#include <cstdint>
#include <optional>
#include "src/api/api-inl.h"
#include "src/base/macros.h"
#include "src/common/globals.h"
#include "src/execution/isolate.h"
#include "src/heap/factory.h"
#include "src/objects/contexts.h"
#include "src/objects/function-kind.h"
#include "src/objects/instance-type-inl.h"
#include "src/objects/js-function-inl.h"
#include "src/objects/map-inl.h"
#include "src/objects/name-inl.h"
#include "src/objects/objects.h"
#include "src/objects/shared-function-info-inl.h"
#include "src/objects/string-inl.h"
namespace v8::internal {
bool FunctionTemplateInfo::HasInstanceType() { … }
Handle<SharedFunctionInfo> FunctionTemplateInfo::GetOrCreateSharedFunctionInfo(
Isolate* isolate, DirectHandle<FunctionTemplateInfo> info,
MaybeDirectHandle<Name> maybe_name) { … }
bool FunctionTemplateInfo::IsTemplateFor(Tagged<Map> map) const { … }
bool FunctionTemplateInfo::IsLeafTemplateForApiObject(
Tagged<Object> object) const { … }
Tagged<FunctionTemplateRareData>
FunctionTemplateInfo::AllocateFunctionTemplateRareData(
Isolate* isolate,
DirectHandle<FunctionTemplateInfo> function_template_info) { … }
std::optional<Tagged<Name>> FunctionTemplateInfo::TryGetCachedPropertyName(
Isolate* isolate, Tagged<Object> getter) { … }
int FunctionTemplateInfo::GetCFunctionsCount() const { … }
Address FunctionTemplateInfo::GetCFunction(Isolate* isolate, int index) const { … }
const CFunctionInfo* FunctionTemplateInfo::GetCSignature(Isolate* isolate,
int index) const { … }
Handle<DictionaryTemplateInfo> DictionaryTemplateInfo::Create(
Isolate* isolate, const v8::MemorySpan<const std::string_view>& names) { … }
namespace {
Handle<JSObject> CreateSlowJSObjectWithProperties(
Isolate* isolate, DirectHandle<FixedArray> property_names,
const MemorySpan<MaybeLocal<Value>>& property_values,
int num_properties_set) { … }
}
Handle<JSObject> DictionaryTemplateInfo::NewInstance(
DirectHandle<NativeContext> context,
DirectHandle<DictionaryTemplateInfo> self,
const MemorySpan<MaybeLocal<Value>>& property_values) { … }
}