Differences From Artifact [743b892159]:
- File
src/runtime/selector.m
— part of check-in
[0ede45ce93]
at
2013-11-26 10:25:33
on branch trunk
— runtime: Free runtime created selectors at exit.
When a selector was created using sel_registerName(), it was not free'd
on exit, as selectors not created using sel_registerName did not need
any freeing. This adds a list of selectors created using
sel_registerName() and frees them on exit.This is only relevant if objc_exit() is used to free all memory occupied
by the runtime. objc_exit() is only useful for debugging memory leaks,
so there was no real world effect. (user: js, size: 3298) [annotate] [blame] [check-ins using]
To Artifact [95506f87f9]:
- File src/runtime/selector.m — part of check-in [b4231b1df9] at 2013-12-19 20:15:36 on branch trunk — runtime: New API for internal unregister methods. (user: js, size: 3304) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
124 125 126 127 128 129 130 | bool sel_isEqual(SEL sel1, SEL sel2) { return (sel1->uid == sel2->uid); } void | | | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | bool sel_isEqual(SEL sel1, SEL sel2) { return (sel1->uid == sel2->uid); } void objc_unregister_all_selectors(void) { objc_hashtable_free(selectors); objc_sparsearray_free(selector_names); if (free_list != NULL) { size_t i; |
︙ | ︙ |