Home | History | Annotate | Download | only in BlocksRuntime

Lines Matching defs:closure

361  * A closure has been copied and its fixup routine is asking us to fix up the reference to the shared byref data
621 struct Block_layout *closure = (struct Block_layout *)block;
624 if (closure == NULL) {
628 if (! (closure->flags & BLOCK_HAS_DESCRIPTOR)) {
632 cp += sprintf(cp, "^%p (new layout) =\n", (void *)closure);
633 if (closure->isa == NULL) {
636 else if (closure->isa == _NSConcreteStackBlock) {
639 else if (closure->isa == _NSConcreteMallocBlock) {
642 else if (closure->isa == _NSConcreteAutoBlock) {
645 else if (closure->isa == _NSConcreteGlobalBlock) {
648 else if (closure->isa == _NSConcreteFinalizingBlock) {
652 cp += sprintf(cp, "isa?: %p\n", (void *)closure->isa);
655 if (closure->flags & BLOCK_HAS_DESCRIPTOR) {
658 if (closure->flags & BLOCK_NEEDS_FREE) {
661 if (closure->flags & BLOCK_IS_GC) {
664 if (closure->flags & BLOCK_HAS_COPY_DISPOSE) {
667 if (closure->flags & BLOCK_HAS_CTOR) {
670 cp += sprintf(cp, "\nrefcount: %u\n", closure->flags & BLOCK_REFCOUNT_MASK);
671 cp += sprintf(cp, "invoke: %p\n", (void *)(uintptr_t)closure->invoke);
673 struct Block_descriptor *dp = closure->descriptor;
678 if (closure->flags & BLOCK_HAS_COPY_DISPOSE) {