Index: src/OFBlock.m ================================================================== --- src/OFBlock.m +++ src/OFBlock.m @@ -313,16 +313,25 @@ break; } } @implementation OFBlock -#ifdef OF_APPLE_RUNTIME + (void)load { +#ifndef OF_HAVE_ATOMIC_OPS + size_t i; + + for (i = 0; i < NUM_SPINLOCKS; i++) + if (!of_spinlock_new(&spinlocks[i])) + @throw [OFInitializationFailedException + exceptionWithClass: self]; +#endif + +#ifdef OF_APPLE_RUNTIME Class tmp; -#ifdef __OBJC2__ +# ifdef __OBJC2__ tmp = objc_initializeClassPair(self, "OFStackBlock", (Class)&_NSConcreteStackBlock, (Class)&_NSConcreteStackBlock_metaclass); if (tmp == Nil) @throw [OFInitializationFailedException @@ -370,24 +379,12 @@ exceptionWithClass: self]; memcpy(&_NSConcreteMallocBlock, tmp, sizeof(_NSConcreteMallocBlock)); free(tmp); objc_registerClassPair((Class)&_NSConcreteMallocBlock); # endif -} -#endif - -#ifndef OF_HAVE_ATOMIC_OPS -+ (void)initialize -{ - size_t i; - - for (i = 0; i < NUM_SPINLOCKS; i++) - if (!of_spinlock_new(&spinlocks[i])) - @throw [OFInitializationFailedException - exceptionWithClass: self]; -} -#endif +#endif +} + alloc { [self doesNotRecognizeSelector: _cmd]; abort();