Lines Matching defs:dst
105 static inline void CopyMaybeOverlap(JSTaggedValue* dst, JSTaggedValue* src, size_t count)
107 std::copy_n(src, count, dst);
110 static inline void CopyNoOverlap(JSTaggedValue* __restrict__ dst, JSTaggedValue* __restrict__ src, size_t count)
112 std::copy_n(src, count, dst);
116 ARK_NOINLINE bool BatchBitSet(const JSThread* thread, Region* objectRegion, JSTaggedValue* dst, size_t count);
119 void Barriers::CopyObject(const JSThread* thread, JSTaggedValue* dst, JSTaggedValue* src, size_t count)
124 // step 1. copy from src to dst directly.
125 CopyObjectPrimitive<maybeOverlap>(dst, src, count);
130 Region* objectRegion = Region::ObjectAddressToRange(ToUintPtr(dst));
134 allValueNotHeap = BatchBitSet<Region::InYoung>(thread, objectRegion, dst, count);
136 allValueNotHeap = BatchBitSet<Region::InGeneralOld>(thread, objectRegion, dst, count);
138 allValueNotHeap = BatchBitSet<Region::Other>(thread, objectRegion, dst, count);
151 JSTaggedValue taggedValue = *(dst + i);
158 const uintptr_t slotAddr = ToUintPtr(dst) + JSTaggedValue::TaggedTypeSize() * i;
170 inline void Barriers::CopyObjectPrimitive(JSTaggedValue* dst, JSTaggedValue* src, size_t count)
173 ASSERT((ToUintPtr(dst) % static_cast<uint8_t>(MemAlignment::MEM_ALIGN_OBJECT)) == 0);
175 CopyMaybeOverlap(dst, src, count);
177 CopyNoOverlap(dst, src, count);