Lines Matching defs:slot
67 for (ObjectSlot slot = start; slot < end; slot++) {
70 callback(slot);
76 bool ParallelEvacuator::UpdateNewToEdenObjectSlot(ObjectSlot &slot)
78 JSTaggedValue value(slot.GetTaggedType());
95 slot.Update(dst);
98 slot.Clear();
104 bool ParallelEvacuator::UpdateForwardedOldToNewObjectSlot(TaggedObject *object, ObjectSlot &slot, bool isWeak)
112 slot.Update(dst);
119 slot.Clear();
125 bool ParallelEvacuator::UpdateOldToNewObjectSlot(ObjectSlot &slot)
127 JSTaggedValue value(slot.GetTaggedType());
136 return UpdateForwardedOldToNewObjectSlot(object, slot, value.IsWeakForHeapObject());
145 return UpdateForwardedOldToNewObjectSlot(object, slot, value.IsWeakForHeapObject());
152 slot.Clear();
159 void ParallelEvacuator::UpdateObjectSlot(ObjectSlot &slot)
161 JSTaggedValue value(slot.GetTaggedType());
167 return UpdateWeakObjectSlot(value.GetTaggedWeakRef(), slot);
173 slot.Update(dst);
178 void ParallelEvacuator::UpdateWeakObjectSlot(TaggedObject *value, ObjectSlot &slot)
190 slot.Clear();
194 slot.Update(weakRef);
198 void ParallelEvacuator::UpdateObjectSlotOpt(ObjectSlot &slot)
200 JSTaggedValue value(slot.GetTaggedType());
202 if (UpdateWeakObjectSlotOpt<gcType>(value, slot)) {
208 slot.Update(dst);
214 bool ParallelEvacuator::UpdateWeakObjectSlotOpt(JSTaggedValue value, ObjectSlot &slot)
216 // if need to update slot as non-weak then return FALSE, else return TRUE
227 slot.Clear();
237 slot.Clear();
245 slot.Update(JSTaggedValue(dst).CreateAndGetWeakRef().GetRawData());
247 slot.Clear();
260 if (VisitBodyInObj(root, start, end, [&](ObjectSlot slot) { SetLocalToShareRSet(slot, region); })) {
264 for (ObjectSlot slot = start; slot < end; slot++) {
265 SetLocalToShareRSet(slot, region);
271 void ParallelEvacuator::SetLocalToShareRSet(ObjectSlot slot, Region *region)
274 JSTaggedType value = slot.GetTaggedType();
280 region->AtomicInsertLocalToShareRSet(slot.SlotAddress());
291 [&](ObjectSlot slot) { SetObjectRSet<SetEdenObject>(slot, region); })) {
295 for (ObjectSlot slot = start; slot < end; slot++) {
296 SetObjectRSet<SetEdenObject>(slot, region);
303 void ParallelEvacuator::SetObjectRSet(ObjectSlot slot, Region *region)
305 JSTaggedType value = slot.GetTaggedType();
312 region->AtomicInsertNewToEdenRSet(slot.SlotAddress());
314 region->AtomicInsertLocalToShareRSet(slot.SlotAddress());
318 region->InsertOldToNewRSet(slot.SlotAddress());
320 region->InsertLocalToShareRSet(slot.SlotAddress());
322 region->InsertCrossRegionRSet(slot.SlotAddress());
326 slot.Clear();