![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <descriptor-array.h>
Public Types | |
| using | EntryKeyField = TaggedField<HeapObject, kEntryKeyOffset> |
| using | EntryDetailsField = TaggedField<Smi, kEntryDetailsOffset> |
| using | EntryValueField = TaggedField<MaybeObject, kEntryValueOffset> |
Public Member Functions | |
| int16_t | number_of_slack_descriptors () const |
| int | number_of_entries () const |
| void | ClearEnumCache () |
| void | CopyEnumCacheFrom (Tagged< DescriptorArray > array) |
| Tagged< Name > | GetKey (InternalIndex descriptor_number) const |
| Tagged< Name > | GetKey (PtrComprCageBase cage_base, InternalIndex descriptor_number) const |
| Tagged< Object > | GetStrongValue (InternalIndex descriptor_number) |
| Tagged< Object > | GetStrongValue (PtrComprCageBase cage_base, InternalIndex descriptor_number) |
| Tagged< MaybeObject > | GetValue (InternalIndex descriptor_number) |
| Tagged< MaybeObject > | GetValue (PtrComprCageBase cage_base, InternalIndex descriptor_number) |
| PropertyDetails | GetDetails (InternalIndex descriptor_number) |
| int | GetFieldIndex (InternalIndex descriptor_number) |
| Tagged< FieldType > | GetFieldType (InternalIndex descriptor_number) |
| Tagged< FieldType > | GetFieldType (PtrComprCageBase cage_base, InternalIndex descriptor_number) |
| bool | IsInitializedDescriptor (InternalIndex descriptor_number) const |
| Tagged< Name > | GetSortedKey (int descriptor_number) |
| Tagged< Name > | GetSortedKey (PtrComprCageBase cage_base, int descriptor_number) |
| int | GetSortedKeyIndex (int descriptor_number) |
| void | Set (InternalIndex descriptor_number, Descriptor *desc) |
| void | Set (InternalIndex descriptor_number, Tagged< Name > key, Tagged< MaybeObject > value, PropertyDetails details) |
| void | Replace (InternalIndex descriptor_number, Descriptor *descriptor) |
| void | GeneralizeAllFields (bool clear_constness) |
| void | Append (Descriptor *desc) |
| V8_EXPORT_PRIVATE void | Sort () |
| V8_EXPORT_PRIVATE void | CheckNameCollisionDuringInsertion (Descriptor *desc, uint32_t descriptor_hash, int insertion_index) |
| V8_INLINE InternalIndex | Search (Tagged< Name > name, int number_of_own_descriptors, bool concurrent_search=false) |
| V8_INLINE InternalIndex | Search (Tagged< Name > name, Tagged< Map > map, bool concurrent_search=false) |
| V8_INLINE InternalIndex | Search (int field_offset, int number_of_own_descriptors) |
| V8_INLINE InternalIndex | Search (int field_offset, Tagged< Map > map) |
| V8_INLINE InternalIndex | SearchWithCache (Isolate *isolate, Tagged< Name > name, Tagged< Map > map) |
| bool | IsEqualUpTo (Tagged< DescriptorArray > desc, int nof_descriptors) |
| void | Initialize (Tagged< EnumCache > enum_cache, Tagged< HeapObject > undefined_value, int nof_descriptors, int slack, uint32_t raw_gc_state) |
| ObjectSlot | GetFirstPointerSlot () |
| ObjectSlot | GetDescriptorSlot (int descriptor) |
| void | PrintDescriptors (std::ostream &os) |
| void | PrintDescriptorDetails (std::ostream &os, InternalIndex descriptor, PropertyDetails::PrintMode mode) |
| template<typename IsolateT > | |
| Handle< DescriptorArray > | Allocate (IsolateT *isolate, int nof_descriptors, int slack, AllocationType allocation) |
Static Public Member Functions | |
| static void | InitializeOrChangeEnumCache (DirectHandle< DescriptorArray > descriptors, Isolate *isolate, DirectHandle< FixedArray > keys, DirectHandle< FixedArray > indices, AllocationType allocation_if_initialize) |
| static DirectHandle< DescriptorArray > | CopyUpTo (Isolate *isolate, DirectHandle< DescriptorArray > desc, int enumeration_index, int slack=0) |
| static DirectHandle< DescriptorArray > | CopyUpToAddAttributes (Isolate *isolate, DirectHandle< DescriptorArray > desc, int enumeration_index, PropertyAttributes attributes, int slack=0) |
| template<typename IsolateT > | |
| static V8_EXPORT_PRIVATE Handle< DescriptorArray > | Allocate (IsolateT *isolate, int nof_descriptors, int slack, AllocationType allocation=AllocationType::kYoung) |
| static constexpr int | SizeFor (int number_of_all_descriptors) |
| static constexpr int | OffsetOfDescriptorAt (int descriptor) |
| static constexpr int | ToDetailsIndex (int descriptor_number) |
| static constexpr int | ToKeyIndex (int descriptor_number) |
| static constexpr int | ToValueIndex (int descriptor_number) |
Static Public Attributes | |
| static const int | kNotFound = -1 |
| static constexpr size_t | kSizeOfRawGcState |
| static const int | kEntryKeyIndex = 0 |
| static const int | kEntryDetailsIndex = 1 |
| static const int | kEntryValueIndex = 2 |
| static const int | kEntrySize = 3 |
| static const int | kEntryKeyOffset = kEntryKeyIndex * kTaggedSize |
| static const int | kEntryDetailsOffset = kEntryDetailsIndex * kTaggedSize |
| static const int | kEntryValueOffset = kEntryValueIndex * kTaggedSize |
Private Member Functions | |
| void | SetKey (InternalIndex descriptor_number, Tagged< Name > key) |
| void | SetValue (InternalIndex descriptor_number, Tagged< MaybeObject > value) |
| void | SetDetails (InternalIndex descriptor_number, PropertyDetails details) |
| V8_INLINE InternalIndex | BinarySearch (Tagged< Name > name, int number_of_own_descriptors) |
| V8_INLINE InternalIndex | LinearSearch (Tagged< Name > name, int number_of_own_descriptors) |
| void | CopyFrom (InternalIndex index, Tagged< DescriptorArray > src) |
| void | SetSortedKey (int pointer, int descriptor_number) |
| void | SwapSortedKeys (int first, int second) |
Definition at line 54 of file descriptor-array.h.
Definition at line 229 of file descriptor-array.h.
Definition at line 228 of file descriptor-array.h.
Definition at line 230 of file descriptor-array.h.
| Handle< DescriptorArray > v8::internal::DescriptorArray::Allocate | ( | IsolateT * | isolate, |
| int | nof_descriptors, | ||
| int | slack, | ||
| AllocationType | allocation ) |
Definition at line 3873 of file objects.cc.
|
static |
|
inline |
|
private |
Definition at line 75 of file descriptor-array-inl.h.
| void v8::internal::DescriptorArray::CheckNameCollisionDuringInsertion | ( | Descriptor * | desc, |
| uint32_t | descriptor_hash, | ||
| int | insertion_index ) |
Definition at line 3989 of file objects.cc.
| void v8::internal::DescriptorArray::ClearEnumCache | ( | ) |
|
inline |
Definition at line 52 of file descriptor-array-inl.h.
|
private |
|
static |
Definition at line 3704 of file objects.cc.
|
static |
Definition at line 3711 of file objects.cc.
| void v8::internal::DescriptorArray::GeneralizeAllFields | ( | bool | clear_constness | ) |
|
inline |
Definition at line 175 of file descriptor-array-inl.h.
|
inline |
Definition at line 266 of file descriptor-array-inl.h.
|
inline |
|
inline |
Definition at line 285 of file descriptor-array-inl.h.
|
inline |
|
inline |
Definition at line 167 of file descriptor-array-inl.h.
|
inline |
Definition at line 195 of file descriptor-array-inl.h.
|
inline |
Definition at line 220 of file descriptor-array-inl.h.
|
inline |
|
inline |
Definition at line 216 of file descriptor-array-inl.h.
|
inline |
Definition at line 235 of file descriptor-array-inl.h.
|
inline |
|
inline |
Definition at line 254 of file descriptor-array-inl.h.
|
inline |
| void v8::internal::DescriptorArray::Initialize | ( | Tagged< EnumCache > | enum_cache, |
| Tagged< HeapObject > | undefined_value, | ||
| int | nof_descriptors, | ||
| int | slack, | ||
| uint32_t | raw_gc_state ) |
|
static |
| bool v8::internal::DescriptorArray::IsEqualUpTo | ( | Tagged< DescriptorArray > | desc, |
| int | nof_descriptors ) |
|
inline |
|
private |
Definition at line 111 of file descriptor-array-inl.h.
|
inline |
Definition at line 48 of file descriptor-array-inl.h.
|
inline |
Definition at line 44 of file descriptor-array-inl.h.
|
inlinestaticconstexpr |
| void v8::internal::DescriptorArray::PrintDescriptorDetails | ( | std::ostream & | os, |
| InternalIndex | descriptor, | ||
| PropertyDetails::PrintMode | mode ) |
| void v8::internal::DescriptorArray::PrintDescriptors | ( | std::ostream & | os | ) |
| void v8::internal::DescriptorArray::Replace | ( | InternalIndex | descriptor_number, |
| Descriptor * | descriptor ) |
| InternalIndex v8::internal::DescriptorArray::Search | ( | int | field_offset, |
| int | number_of_own_descriptors ) |
| InternalIndex v8::internal::DescriptorArray::Search | ( | int | field_offset, |
| Tagged< Map > | map ) |
| InternalIndex v8::internal::DescriptorArray::Search | ( | Tagged< Name > | name, |
| int | number_of_own_descriptors, | ||
| bool | concurrent_search = false ) |
Definition at line 56 of file descriptor-array-inl.h.
|
inline |
Definition at line 306 of file descriptor-array-inl.h.
|
inline |
|
inlineprivate |
Definition at line 273 of file descriptor-array-inl.h.
|
inlineprivate |
Definition at line 208 of file descriptor-array-inl.h.
|
inlineprivate |
Definition at line 230 of file descriptor-array-inl.h.
|
inlineprivate |
Definition at line 246 of file descriptor-array-inl.h.
|
inlinestaticconstexpr |
| void v8::internal::DescriptorArray::Sort | ( | ) |
|
inlineprivate |
Definition at line 339 of file descriptor-array-inl.h.
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
static |
Definition at line 191 of file descriptor-array.h.
|
static |
Definition at line 196 of file descriptor-array.h.
|
static |
Definition at line 190 of file descriptor-array.h.
|
static |
Definition at line 195 of file descriptor-array.h.
|
static |
Definition at line 193 of file descriptor-array.h.
|
static |
Definition at line 192 of file descriptor-array.h.
|
static |
Definition at line 197 of file descriptor-array.h.
|
static |
Definition at line 161 of file descriptor-array.h.
|
staticconstexpr |
Definition at line 168 of file descriptor-array.h.