Lines Matching defs:slot

40     for (ObjectSlot slot = start; slot < end; slot++) {
43 callback(slot, rootRegion, needBarrier);
49 inline void NonMovableMarker::MarkValue(uint32_t threadId, ObjectSlot &slot, Region *rootRegion, bool needBarrier)
51 JSTaggedValue value(slot.GetTaggedType());
65 RecordWeakReference(threadId, reinterpret_cast<JSTaggedType *>(slot.SlotAddress()), rootRegion);
71 rootRegion->AtomicInsertCrossRegionRSet(slot.SlotAddress());
103 inline void NonMovableMarker::HandleRoots(uint32_t threadId, [[maybe_unused]] Root type, ObjectSlot slot)
105 JSTaggedValue value(slot.GetTaggedType());
114 for (ObjectSlot slot = start; slot < end; slot++) {
115 JSTaggedValue value(slot.GetTaggedType());
129 // It is only used to update the derived value. The mark of partial GC does not need to update slot
136 ObjectSlot slot(ToUintPtr(mem));
137 JSTaggedValue value(slot.GetTaggedType());
153 ObjectSlot slot(ToUintPtr(mem));
154 JSTaggedValue value(slot.GetTaggedType());
198 for (ObjectSlot slot = start; slot < end; slot++) {
201 callback(slot, root);
207 inline void MovableMarker::HandleRoots(uint32_t threadId, [[maybe_unused]] Root type, ObjectSlot slot)
209 JSTaggedValue value(slot.GetTaggedType());
211 MarkObject(threadId, value.GetTaggedObject(), slot);
218 for (ObjectSlot slot = start; slot < end; slot++) {
219 JSTaggedValue value(slot.GetTaggedType());
223 RecordWeakReference(threadId, reinterpret_cast<JSTaggedType *>(slot.SlotAddress()), objectRegion);
225 MarkObject(threadId, value.GetTaggedObject(), slot);
242 ObjectSlot slot(ToUintPtr(mem));
243 JSTaggedValue value(slot.GetTaggedType());
249 auto slotStatus = MarkObject(threadId, value.GetTaggedObject(), slot);
261 ObjectSlot slot(ToUintPtr(mem));
262 JSTaggedValue value(slot.GetTaggedType());
268 auto slotStatus = MarkObject(threadId, value.GetTaggedObject(), slot);
303 uintptr_t toAddress, size_t size, ObjectSlot slot, bool isPromoted)
314 slot.Update(reinterpret_cast<TaggedObject *>(toAddress));
318 ObjectSlot slot)
322 slot.Update(dst);
343 [&](ObjectSlot slot, [[maybe_unused]]TaggedObject *root) {
344 SetLocalToShareRSet(slot, region);
349 for (ObjectSlot slot = start; slot < end; slot++) {
350 SetLocalToShareRSet(slot, region);
356 void MovableMarker::SetLocalToShareRSet(ObjectSlot slot, Region *region)
359 JSTaggedType value = slot.GetTaggedType();
365 region->AtomicInsertLocalToShareRSet(slot.SlotAddress());
369 inline void SemiGCMarker::MarkValue(uint32_t threadId, TaggedObject *root, ObjectSlot slot)
371 JSTaggedValue value(slot.GetTaggedType());
375 RecordWeakReference(threadId, reinterpret_cast<JSTaggedType *>(slot.SlotAddress()), rootRegion);
378 auto slotStatus = MarkObject(threadId, value.GetTaggedObject(), slot);
380 SlotNeedUpdate waitUpdate(reinterpret_cast<TaggedObject *>(root), slot);
386 inline SlotStatus SemiGCMarker::MarkObject(uint32_t threadId, TaggedObject *object, ObjectSlot slot)
396 slot.Update(dst);
400 return EvacuateObject(threadId, object, markWord, slot);
404 ObjectSlot slot)
417 UpdateForwardAddressIfSuccess(threadId, object, klass, forwardAddress, size, slot, isPromoted);
420 bool keepSlot = UpdateForwardAddressIfFailed(object, forwardAddress, size, slot);
440 inline void CompressGCMarker::MarkValue(uint32_t threadId, ObjectSlot slot)
442 JSTaggedValue value(slot.GetTaggedType());
446 RecordWeakReference(threadId, reinterpret_cast<JSTaggedType *>(slot.SlotAddress()));
449 MarkObject(threadId, value.GetTaggedObject(), slot);
453 inline SlotStatus CompressGCMarker::MarkObject(uint32_t threadId, TaggedObject *object, ObjectSlot slot)
469 slot.Update(dst);
472 return EvacuateObject(threadId, object, markWord, slot);
500 ObjectSlot slot)
511 UpdateForwardAddressIfSuccess(threadId, object, klass, forwardAddress, size, slot);
522 UpdateForwardAddressIfFailed(object, forwardAddress, size, slot);