@@ -21,11 +21,11 @@ #import "runtime.h" #import "runtime-private.h" static struct objc_sparsearray_level2 *empty_level2 = NULL; -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 static struct objc_sparsearray_level3 *empty_level3 = NULL; #endif static void init(void) @@ -36,19 +36,19 @@ if (empty_level2 == NULL) OBJC_ERROR("Not enough memory to allocate sparse array!"); empty_level2->empty = YES; -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 empty_level3 = malloc(sizeof(struct objc_sparsearray_level3)); if (empty_level3 == NULL) OBJC_ERROR("Not enough memory to allocate sparse array!"); empty_level3->empty = YES; #endif -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 for (i = 0; i < 256; i++) { empty_level2->buckets[i] = empty_level3; empty_level3->buckets[i] = NULL; } #else @@ -61,11 +61,11 @@ objc_sparsearray_new(void) { struct objc_sparsearray *s; uint_fast16_t i; -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 if (empty_level2 == NULL || empty_level3 == NULL) init(); #else if (empty_level2 == NULL) init(); @@ -83,20 +83,20 @@ void objc_sparsearray_copy(struct objc_sparsearray *dst, struct objc_sparsearray *src) { uint_fast16_t i, j; -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 uint_fast16_t k; #endif uint32_t idx; for (i = 0; i < 256; i++) { if (src->buckets[i]->empty) continue; -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 for (j = 0; j < 256; j++) { if (src->buckets[i]->buckets[j]->empty) continue; for (k = 0; k < 256; k++) { @@ -129,11 +129,11 @@ } void objc_sparsearray_set(struct objc_sparsearray *s, uint32_t idx, const void *obj) { -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 uint8_t i = idx >> 16; uint8_t j = idx >> 8; uint8_t k = idx; #else uint8_t i = idx >> 8; @@ -151,20 +151,20 @@ "array!"); t->empty = NO; for (l = 0; l < 256; l++) -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 t->buckets[l] = empty_level3; #else t->buckets[l] = NULL; #endif s->buckets[i] = t; } -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 if (s->buckets[i]->buckets[j]->empty) { struct objc_sparsearray_level3 *t; uint_fast16_t l; t = malloc(sizeof(struct objc_sparsearray_level3)); @@ -189,16 +189,16 @@ void objc_sparsearray_free(struct objc_sparsearray *s) { uint_fast16_t i; -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 uint_fast16_t j; #endif for (i = 0; i < 256; i++) { -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 if (s->buckets[i]->empty) continue; for (j = 0; j < 256; j++) if (!s->buckets[i]->buckets[j]->empty) @@ -214,15 +214,15 @@ void objc_sparsearray_cleanup(void) { if (empty_level2 != NULL) free(empty_level2); -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 if (empty_level3 != NULL) free(empty_level3); #endif empty_level2 = NULL; -#ifndef OF_SELUID16 +#ifdef OF_SELUID24 empty_level3 = NULL; #endif }