v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
templates-inl.h File Reference
#include "src/objects/templates.h"
#include "src/heap/heap-write-barrier-inl.h"
#include "src/objects/dictionary.h"
#include "src/objects/objects-inl.h"
#include "src/objects/oddball.h"
#include "src/objects/shared-function-info.h"
#include "src/objects/object-macros.h"
#include "torque-generated/src/objects/templates-tq-inl.inc"
#include "src/objects/object-macros-undef.h"
Include dependency graph for templates-inl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define RARE_ACCESSORS(Name, CamelName, Default, ...)
 

Functions

 v8::internal::BOOL_ACCESSORS (FunctionTemplateInfo, relaxed_flag, is_object_template_call_handler, IsObjectTemplateCallHandlerBit::kShift) BOOL_ACCESSORS(FunctionTemplateInfo
 
HasSideEffectsBit::kShift v8::internal::BOOL_ACCESSORS (FunctionTemplateInfo, relaxed_flag, undetectable, UndetectableBit::kShift) BOOL_ACCESSORS(FunctionTemplateInfo
 
HasSideEffectsBit::kShift NeedsAccessCheckBit::kShift v8::internal::BOOL_ACCESSORS (FunctionTemplateInfo, relaxed_flag, read_only_prototype, ReadOnlyPrototypeBit::kShift) BOOL_ACCESSORS(FunctionTemplateInfo
 
HasSideEffectsBit::kShift NeedsAccessCheckBit::kShift RemovePrototypeBit::kShift v8::internal::BOOL_ACCESSORS (FunctionTemplateInfo, relaxed_flag, accept_any_receiver, AcceptAnyReceiverBit::kShift) bool FunctionTemplateInfo
 
 v8::internal::BIT_FIELD_ACCESSORS (FunctionTemplateInfo, relaxed_flag, allowed_receiver_instance_type_range_start, FunctionTemplateInfo::AllowedReceiverInstanceTypeRangeStartBits) BIT_FIELD_ACCESSORS(FunctionTemplateInfo
 
FunctionTemplateInfo::AllowedReceiverInstanceTypeRangeEndBits v8::internal::RELAXED_UINT32_ACCESSORS (FunctionTemplateInfo, flag, FunctionTemplateInfo::kFlagOffset) int32_t FunctionTemplateInfo
 
 v8::internal::EXTERNAL_POINTER_ACCESSORS_MAYBE_READ_ONLY_HOST (FunctionTemplateInfo, maybe_redirected_callback, Address, kMaybeRedirectedCallbackOffset, kFunctionTemplateInfoCallbackTag) template< class IsolateT > bool FunctionTemplateInfo
 
 v8::internal::RARE_ACCESSORS (prototype_template, PrototypeTemplate, undefined, UnionOf< Undefined, ObjectTemplateInfo >) RARE_ACCESSORS(prototype_provider_template
 
UnionOf< Undefined, FunctionTemplateInfov8::internal::RARE_ACCESSORS (parent_template, ParentTemplate, undefined, UnionOf< Undefined, FunctionTemplateInfo >) RARE_ACCESSORS(named_property_handler
 
UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfov8::internal::RARE_ACCESSORS (indexed_property_handler, IndexedPropertyHandler, undefined, UnionOf< Undefined, InterceptorInfo >) RARE_ACCESSORS(instance_template
 
UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > UnionOf< Undefined, ObjectTemplateInfov8::internal::RARE_ACCESSORS (instance_call_handler, InstanceCallHandler, undefined, UnionOf< Undefined, FunctionTemplateInfo >) RARE_ACCESSORS(access_check_info
 
UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > UnionOf< Undefined, ObjectTemplateInfo > UnionOf< Undefined, AccessCheckInfov8::internal::RARE_ACCESSORS (c_function_overloads, CFunctionOverloads, GetReadOnlyRoots().empty_fixed_array(), FixedArray) InstanceType FunctionTemplateInfo
 

Variables

 v8::internal::relaxed_flag
 
 v8::internal::has_side_effects
 
HasSideEffectsBit::kShift v8::internal::needs_access_check
 
HasSideEffectsBit::kShift NeedsAccessCheckBit::kShift v8::internal::remove_prototype
 
 v8::internal::allowed_receiver_instance_type_range_end
 
 v8::internal::PrototypeProviderTemplate
 
 v8::internal::undefined
 
UnionOf< Undefined, FunctionTemplateInfov8::internal::NamedPropertyHandler
 
UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfov8::internal::InstanceTemplate
 
UnionOf< Undefined, FunctionTemplateInfo > UnionOf< Undefined, InterceptorInfo > UnionOf< Undefined, ObjectTemplateInfov8::internal::AccessCheckInfo
 

Macro Definition Documentation

◆ RARE_ACCESSORS

#define RARE_ACCESSORS ( Name,
CamelName,
Default,
... )
Value:
DEF_GETTER(FunctionTemplateInfo, Get##CamelName, Tagged<__VA_ARGS__>) { \
Tagged<HeapObject> extra = rare_data(cage_base, kAcquireLoad); \
Tagged<Undefined> undefined = GetReadOnlyRoots().undefined_value(); \
return extra == undefined ? Default \
: Cast<FunctionTemplateRareData>(extra)->Name(); \
} \
inline void FunctionTemplateInfo::Set##CamelName( \
Isolate* isolate, \
DirectHandle<FunctionTemplateInfo> function_template_info, \
DirectHandle<__VA_ARGS__> Name) { \
Tagged<FunctionTemplateRareData> rare_data = \
EnsureFunctionTemplateRareData(isolate, function_template_info); \
rare_data->set_##Name(*Name); \
}
#define DEF_GETTER(Camel, Lower, Bit)

Definition at line 145 of file templates-inl.h.