Home | History | Annotate | Download | only in BlocksRuntime

Lines Matching refs:forwarding

362  * Closures that aren't copied must still work, so everyone always accesses variables after dereferencing the forwarding ptr.
364 * Otherwise we need to copy it and update the stack forwarding pointer
374 if (src->forwarding->flags & BLOCK_IS_GC) {
377 else if ((src->forwarding->flags & BLOCK_REFCOUNT_MASK) == 0) {
384 copy->forwarding = copy; // patch heap copy to point to itself (skip write-barrier)
385 src->forwarding = copy; // patch stack to point to heap copy
406 else if ((src->forwarding->flags & BLOCK_NEEDS_FREE) == BLOCK_NEEDS_FREE) {
407 latching_incr_int(&src->forwarding->flags);
410 _Block_assign(src->forwarding, (void **)destp);
418 // dereference the forwarding pointer since the compiler isn't doing this anymore (ever?)
419 shared_struct = shared_struct->forwarding;
691 cp += sprintf(cp, " forwarding: %p\n", (void *)src->forwarding);