• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/objc4-551.1/runtime/

Lines Matching refs:pending

40  * runtime uses a "pending class" system. 
45 * pending mechanism only handled "missing superclass" and not
47 * Tiger: The runtime's pending mechanism was augmented to handle
50 * The pending mechanism may now be needed only for rare and
85 * Attach any pending categories.
699 * pending class refs.
717 * pending subclasses.
741 PendingSubclass *pending;
745 // Create and/or locate pending class lookup table
748 // Make sure this class isn't already in the pending list.
755 pending = (PendingSubclass *)_malloc_internal(sizeof(PendingSubclass));
756 pending->subclass = cls;
759 pending->next = oldList;
762 NXMapKeyCopyingInsert (table, superName, pending);
773 PendingClassRef *pending;
775 // Create and/or locate pending class lookup table
779 pending = (PendingClassRef *)_malloc_internal(sizeof(PendingClassRef));
780 pending->ref = ref;
782 pending->ref = (Class *)((uintptr_t)pending->ref | 1);
786 pending->next = (PendingClassRef *)NXMapGet(table, className);
789 NXMapKeyCopyingInsert (table, className, pending);
800 * Fix up any pending class refs to this class.
804 PendingClassRef *pending;
808 pending = (PendingClassRef *)NXMapGet(pendingClassRefsMap, cls->name);
809 if (!pending) return; // no unresolved refs for this class
817 while (pending) {
818 PendingClassRef *next = pending->next;
819 if (pending->ref) {
820 BOOL isMeta = ((uintptr_t)pending->ref & 1) ? YES : NO;
822 (Class *)((uintptr_t)pending->ref & ~(uintptr_t)1);
825 _free_internal(pending);
826 pending = next;
838 * Fix up any pending subclasses of this class.
842 PendingSubclass *pending;
846 pending = (PendingSubclass *)NXMapGet(pendingSubclassesMap, cls->name);
847 if (!pending) return; // no unresolved subclasses for this class
851 // Destroy the pending table if it's now empty, to save memory.
861 while (pending) {
862 PendingSubclass *next = pending->next;
863 if (pending->subclass) connect_class(pending->subclass);
864 _free_internal(pending);
865 pending = next;
1049 // pending the completion of its superclass and root class.
1335 * not yet exist, the reference is added to a list of pending references
1379 * Delete any pending class ref fixups for class refs in the given image,
1389 // Search the pending class ref table for class refs in this range.
1395 PendingClassRef *pending;
1398 (const void **)&key, (const void **)&pending))
1400 for ( ; pending != nil; pending = pending->next) {
1401 if (pending->ref >= refs && pending->ref < end) {
1402 pending->ref = nil;
2450 * pending subclasses list (only if class is still unconnected)
2620 // Remove from unconnected_class_hash and pending subclasses
2624 // Find this class in its superclass's pending list
2626 PendingSubclass *pending = (PendingSubclass *)
2628 for ( ; pending != nil; pending = pending->next) {
2629 if (pending->subclass == cls) {
2630 pending->subclass = Nil;
3104 * Reverse the given linked list of pending categories.
3105 * The pending category list is built backwards, and needs to be
3139 _objc_unresolved_category * pending;
3147 pending = (_objc_unresolved_category *)
3152 // The pending list is built backwards. Reverse it and walk forwards.
3153 pending = reverse_cat(pending);
3155 while (pending) {
3156 if (pending->cat) {
3160 _objc_add_category(cls, pending->cat, (int)pending->version);
3164 next = pending->next;
3165 _free_internal(pending);
3166 pending = next;
3232 _objc_inform("CONNECT: pending category '%s (%s)'", cat->class_name, cat->category_name);