Differences From Artifact [1dc5e5a7d1]:
- File src/OFObject.m — part of check-in [e8dccdf9a9] at 2011-08-03 01:55:47 on branch trunk — D'oh... (user: js, size: 28551) [annotate] [blame] [check-ins using]
To Artifact [ec4f3dc978]:
- File
src/OFObject.m
— part of check-in
[0322aa3168]
at
2011-08-03 03:38:05
on branch trunk
— Fix updating the dtable for the old GNU runtime.
Again, why does the old GNU runtime force us to fiddle with its internal
data structures instead of exporting functions? (user: js, size: 28738) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
130 131 132 133 134 135 136 137 | * dtable, but the old GNU runtime is that crappy that it even forces us to * touch it... */ static void update_dtable(Class class) { MethodList_t iter; | > > | | > > > | | | | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | * dtable, but the old GNU runtime is that crappy that it even forces us to * touch it... */ static void update_dtable(Class class) { MethodList_t iter; Class subclass; for (subclass = class->subclass_list; subclass != Nil; subclass = subclass->sibling_class) update_dtable(subclass); for (iter = class->methods; iter != NULL; iter = iter->method_next) { Method_t methods = iter->method_list; int i; for (i = 0; i < iter->method_count; i++) if (sarray_get_safe(class->dtable, (sidx)methods[i].method_name->sel_id) != NULL) sarray_at_put_safe(class->dtable, (sidx)methods[i].method_name->sel_id, methods[i].method_imp); } } #endif @implementation OFObject + (void)load { |
︙ | ︙ |