Home | History | Annotate | Download | only in BlocksRuntime

Lines Matching defs:closure

362  * A closure has been copied and its fixup routine is asking us to fix up the reference to the shared byref data
622 struct Block_layout *closure = (struct Block_layout *)block;
625 if (closure == NULL) {
629 if (! (closure->flags & BLOCK_HAS_DESCRIPTOR)) {
633 cp += sprintf(cp, "^%p (new layout) =\n", (void *)closure);
634 if (closure->isa == NULL) {
637 else if (closure->isa == _NSConcreteStackBlock) {
640 else if (closure->isa == _NSConcreteMallocBlock) {
643 else if (closure->isa == _NSConcreteAutoBlock) {
646 else if (closure->isa == _NSConcreteGlobalBlock) {
649 else if (closure->isa == _NSConcreteFinalizingBlock) {
653 cp += sprintf(cp, "isa?: %p\n", (void *)closure->isa);
656 if (closure->flags & BLOCK_HAS_DESCRIPTOR) {
659 if (closure->flags & BLOCK_NEEDS_FREE) {
662 if (closure->flags & BLOCK_IS_GC) {
665 if (closure->flags & BLOCK_HAS_COPY_DISPOSE) {
668 if (closure->flags & BLOCK_HAS_CTOR) {
671 cp += sprintf(cp, "\nrefcount: %u\n", closure->flags & BLOCK_REFCOUNT_MASK);
672 cp += sprintf(cp, "invoke: %p\n", (void *)(uintptr_t)closure->invoke);
674 struct Block_descriptor *dp = closure->descriptor;
679 if (closure->flags & BLOCK_HAS_COPY_DISPOSE) {