59 inline int16_t number_of_slack_descriptors()
const;
60 inline int number_of_entries()
const;
62 void ClearEnumCache();
64 static void InitializeOrChangeEnumCache(
87 inline bool IsInitializedDescriptor(
InternalIndex descriptor_number)
const;
91 int descriptor_number);
92 inline int GetSortedKeyIndex(
int descriptor_number);
102 void GeneralizeAllFields(
bool clear_constness);
111 int enumeration_index,
int slack = 0);
126 Descriptor* desc, uint32_t descriptor_hash,
int insertion_index);
132 int number_of_own_descriptors,
133 bool concurrent_search =
false);
135 bool concurrent_search =
false);
139 int number_of_own_descriptors);
151 template <
typename IsolateT>
153 IsolateT* isolate,
int nof_descriptors,
int slack,
158 int slack, uint32_t raw_gc_state);
168 static constexpr
size_t kSizeOfRawGcState =
169 kRawGcStateOffsetEnd - kRawGcStateOffset + 1;
171 static constexpr
int SizeFor(
int number_of_all_descriptors) {
172 return OffsetOfDescriptorAt(number_of_all_descriptors);
175 return kDescriptorsOffset + descriptor * kEntrySize *
kTaggedSize;
178 inline ObjectSlot GetDescriptorSlot(
int descriptor);
180 static_assert(kEndOfStrongFieldsOffset == kStartOfWeakFieldsOffset,
181 "Weak fields follow strong fields.");
182 static_assert(kEndOfWeakFieldsOffset == kHeaderSize,
183 "Weak fields extend up to the end of the header.");
184 static_assert(kDescriptorsOffset == kHeaderSize,
185 "Variable-size array follows header.");
190 static const int kEntryKeyIndex = 0;
191 static const int kEntryDetailsIndex = 1;
192 static const int kEntryValueIndex = 2;
193 static const int kEntrySize = 3;
196 static const int kEntryDetailsOffset = kEntryDetailsIndex *
kTaggedSize;
197 static const int kEntryValueOffset = kEntryValueIndex *
kTaggedSize;
200 void PrintDescriptors(std::ostream& os);
201 void PrintDescriptorDetails(std::ostream& os,
InternalIndex descriptor,
216 return (descriptor_number * kEntrySize) + kEntryDetailsIndex;
221 return (descriptor_number * kEntrySize) + kEntryKeyIndex;
225 return (descriptor_number * kEntrySize) + kEntryValueIndex;
240 int number_of_own_descriptors);
242 int number_of_own_descriptors);
248 inline void SetSortedKey(
int pointer,
int descriptor_number);
251 inline void SwapSortedKeys(
int first,
int second);