for (; dest >= start; --src, --dest) {
gpointer value = *src;
- *dest = value;
+ SGEN_UPDATE_REFERENCE_ALLOW_NULL (dest, value);
if (need_mod_union || sgen_ptr_in_nursery (value))
sgen_card_table_mark_address ((mword)dest);
sgen_dummy_use (value);
gpointer *end = dest + count;
for (; dest < end; ++src, ++dest) {
gpointer value = *src;
- *dest = value;
+ SGEN_UPDATE_REFERENCE_ALLOW_NULL (dest, value);
if (need_mod_union || sgen_ptr_in_nursery (value))
sgen_card_table_mark_address ((mword)dest);
sgen_dummy_use (value);