Overview
| Comment: | Use lower 24 bits of the selector hash. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | runtime |
| Files: | files | file ages | folders |
| SHA3-256: |
ee5fd980f8b600334409238e58de283e |
| User & Date: | js on 2012-05-07 08:22:32 |
| Other Links: | branch diff | manifest | tags |
Context
|
2012-05-07
| ||
| 08:24 | Abort when all selector slots are exhausted. (check-in: 1315dd59d4 user: js tags: runtime) | |
| 08:22 | Use lower 24 bits of the selector hash. (check-in: ee5fd980f8 user: js tags: runtime) | |
|
2012-05-03
| ||
| 22:31 | Check in configure whether to use assembly lookup. (check-in: e382d2a8cb user: js tags: runtime) | |
Changes
Modified src/runtime/selector.m from [e0ff7d4f75] to [687a3c992c].
| ︙ | ︙ | |||
31 32 33 34 35 36 37 | uint32_t hash, last; struct objc_selector *rsel = (struct objc_selector*)sel; const char *name; if (selectors == NULL) selectors = objc_sparsearray_new(); | | | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
uint32_t hash, last;
struct objc_selector *rsel = (struct objc_selector*)sel;
const char *name;
if (selectors == NULL)
selectors = objc_sparsearray_new();
hash = objc_hash_string(sel->name) & 0xFFFFFF;
while (hash <= 0xFFFFFF &&
(name = objc_sparsearray_get(selectors, hash)) != NULL) {
if (!strcmp(name, sel->name)) {
rsel->uid = hash;
return;
}
|
| ︙ | ︙ |