Lines Matching defs:slot_set
31 static void Insert(SlotSet* slot_set, MemoryChunk* chunk, Address slot_addr) {
34 slot_set->Insert<access_mode>(offset);
38 static int Iterate(SlotSet* slot_set, MemoryChunk* chunk, Callback callback,
41 if (slot_set != nullptr) {
42 slots += slot_set->Iterate(chunk->address(), 0, chunk->buckets(),
48 static void Remove(SlotSet* slot_set, MemoryChunk* chunk, Address slot_addr) {
49 if (slot_set != nullptr) {
51 slot_set->Remove(offset);
55 static void RemoveRange(SlotSet* slot_set, MemoryChunk* chunk, Address start,
57 if (slot_set != nullptr) {
61 slot_set->RemoveRange(static_cast<int>(start_offset),
67 static void CheckNoneInRange(SlotSet* slot_set, MemoryChunk* chunk,
69 if (slot_set != nullptr) {
76 slot_set->Iterate(
95 SlotSet* slot_set = chunk->slot_set<type, access_mode>();
96 if (slot_set == nullptr) {
97 slot_set = chunk->AllocateSlotSet<type>();
99 RememberedSetOperations::Insert<access_mode>(slot_set, chunk, slot_addr);
106 SlotSet* slot_set = chunk->slot_set<type>();
107 if (slot_set == nullptr) {
111 return slot_set->Contains(offset);
115 SlotSet* slot_set = chunk->slot_set<type>();
116 RememberedSetOperations::CheckNoneInRange(slot_set, chunk, start, end);
124 SlotSet* slot_set = chunk->slot_set<type>();
125 RememberedSetOperations::Remove(slot_set, chunk, slot_addr);
132 SlotSet* slot_set = chunk->slot_set<type>();
133 RememberedSetOperations::RemoveRange(slot_set, chunk, start, end, mode);
155 SlotSet* slot_set = chunk->slot_set<type>();
157 if (slot_set != nullptr || typed_slot_set != nullptr ||
173 SlotSet* slot_set = chunk->slot_set<type>();
174 return RememberedSetOperations::Iterate(slot_set, chunk, callback, mode);
181 SlotSet* slot_set = chunk->slot_set<type>();
183 if (slot_set != nullptr) {
186 slots += slot_set->IterateAndTrackEmptyBuckets(chunk->address(), 0,
196 SlotSet* slot_set = chunk->slot_set<type>();
197 if (slot_set != nullptr && slot_set->FreeEmptyBuckets(chunk->buckets())) {
204 SlotSet* slot_set = chunk->slot_set<type, AccessMode::NON_ATOMIC>();
205 if (slot_set != nullptr &&
206 slot_set->CheckPossiblyEmptyBuckets(chunk->buckets(),
219 TypedSlotSet* slot_set = memory_chunk->typed_slot_set<type>();
220 if (slot_set == nullptr) {
221 slot_set = memory_chunk->AllocateTypedSlotSet<type>();
223 slot_set->Insert(slot_type, offset);
227 TypedSlotSet* slot_set = page->typed_slot_set<type>();
228 if (slot_set == nullptr) {
229 slot_set = page->AllocateTypedSlotSet<type>();
231 slot_set->Merge(other.get());
237 TypedSlotSet* slot_set = page->typed_slot_set<type>();
238 if (slot_set != nullptr) {
239 slot_set->Iterate(
266 TypedSlotSet* slot_set = chunk->typed_slot_set<type>();
267 if (slot_set != nullptr) {
269 slot_set->Iterate(callback, TypedSlotSet::KEEP_EMPTY_CHUNKS);