Searched refs:forwarding (Results 1 - 2 of 2) sorted by relevance

/frameworks/compile/libbcc/runtime/BlocksRuntime/
H A DBlock_private.h75 struct Block_byref *forwarding; member in struct:Block_byref
86 struct Block_byref *forwarding; member in struct:Block_byref_header
H A Druntime.c363 * Closures that aren't copied must still work, so everyone always accesses variables after dereferencing the forwarding ptr.
365 * Otherwise we need to copy it and update the stack forwarding pointer
375 if (src->forwarding->flags & BLOCK_IS_GC) {
378 else if ((src->forwarding->flags & BLOCK_REFCOUNT_MASK) == 0) {
385 copy->forwarding = copy; // patch heap copy to point to itself (skip write-barrier)
386 src->forwarding = copy; // patch stack to point to heap copy
407 else if ((src->forwarding->flags & BLOCK_NEEDS_FREE) == BLOCK_NEEDS_FREE) {
408 latching_incr_int(&src->forwarding->flags);
411 _Block_assign(src->forwarding, (void **)destp);
419 // dereference the forwarding pointe
[all...]

Completed in 130 milliseconds