@@ -417,11 +417,13 @@ process_load_queue(); } Class -objc_allocateClassPair(Class superclass, const char *name, size_t extra_bytes) +objc_allocateClassPair(Class superclass OBJC_M68K_REG("a0"), + const char *name OBJC_M68K_REG("a1"), + size_t extra_bytes OBJC_M68K_REG("d0")) { struct objc_class *cls, *metaclass; Class iter, rootclass = Nil; if (extra_bytes > LONG_MAX) @@ -451,11 +453,11 @@ return cls; } void -objc_registerClassPair(Class cls) +objc_registerClassPair(Class cls OBJC_M68K_REG("a0")) { objc_global_mutex_lock(); register_class((struct objc_abi_class *)cls); @@ -528,11 +530,12 @@ { return objc_getRequiredClass(name); } unsigned int -objc_getClassList(Class *buf, unsigned int count) +objc_getClassList(Class *buf OBJC_M68K_REG("a0"), + unsigned int count OBJC_M68K_REG("d0")) { unsigned int j; objc_global_mutex_lock(); if (buf == NULL) @@ -568,11 +571,11 @@ return j; } Class * -objc_copyClassList(unsigned int *len) +objc_copyClassList(unsigned int *len OBJC_M68K_REG("a0")) { Class *ret; unsigned int count; objc_global_mutex_lock(); @@ -592,47 +595,48 @@ return ret; } bool -class_isMetaClass(Class cls) +class_isMetaClass(Class cls OBJC_M68K_REG("a0")) { if (cls == Nil) return false; return (cls->info & OBJC_CLASS_INFO_METACLASS); } const char * -class_getName(Class cls) +class_getName(Class cls OBJC_M68K_REG("a0")) { if (cls == Nil) return ""; return cls->name; } Class -class_getSuperclass(Class cls) +class_getSuperclass(Class cls OBJC_M68K_REG("a0")) { if (cls == Nil) return Nil; return cls->superclass; } unsigned long -class_getInstanceSize(Class cls) +class_getInstanceSize(Class cls OBJC_M68K_REG("a0")) { if (cls == Nil) return 0; return cls->instance_size; } IMP -class_getMethodImplementation(Class cls, SEL sel) +class_getMethodImplementation(Class cls OBJC_M68K_REG("a0"), + SEL sel OBJC_M68K_REG("a1")) { /* * We use a dummy object here so that the normal lookup is used, even * though we don't have an object. Doing so is safe, as objc_msg_lookup * does not access the object, but only its class. @@ -652,11 +656,12 @@ dummy.isa = cls; return objc_msg_lookup((id)&dummy, sel); } IMP -class_getMethodImplementation_stret(Class cls, SEL sel) +class_getMethodImplementation_stret(Class cls OBJC_M68K_REG("a0"), + SEL sel OBJC_M68K_REG("a1")) { /* * Same as above, but use objc_msg_lookup_stret instead, so that the * correct forwarding handler is returned. */ @@ -719,11 +724,12 @@ objc_update_dtable(cls); } const char * -class_getMethodTypeEncoding(Class cls, SEL sel) +class_getMethodTypeEncoding(Class cls OBJC_M68K_REG("a0"), + SEL sel OBJC_M68K_REG("a1")) { struct objc_method *method; if (cls == Nil) return NULL; @@ -743,11 +749,12 @@ return NULL; } bool -class_addMethod(Class cls, SEL sel, IMP imp, const char *types) +class_addMethod(Class cls OBJC_M68K_REG("a0"), SEL sel OBJC_M68K_REG("a1"), + IMP imp OBJC_M68K_REG("a2"), const char *types OBJC_M68K_REG("a3")) { bool ret; objc_global_mutex_lock(); @@ -761,11 +768,12 @@ return ret; } IMP -class_replaceMethod(Class cls, SEL sel, IMP newimp, const char *types) +class_replaceMethod(Class cls OBJC_M68K_REG("a0"), SEL sel OBJC_M68K_REG("a1"), + IMP newimp OBJC_M68K_REG("a2"), const char *types OBJC_M68K_REG("a3")) { struct objc_method *method; IMP oldimp; objc_global_mutex_lock(); @@ -783,11 +791,11 @@ return oldimp; } Class -object_getClass(id obj_) +object_getClass(id obj_ OBJC_M68K_REG("a0")) { struct objc_object *obj; if (obj_ == nil) return Nil; @@ -796,11 +804,11 @@ return obj->isa; } Class -object_setClass(id obj_, Class cls) +object_setClass(id obj_ OBJC_M68K_REG("a0"), Class cls OBJC_M68K_REG("a1")) { struct objc_object *obj; Class old; if (obj_ == nil) @@ -813,11 +821,11 @@ return old; } const char * -object_getClassName(id obj) +object_getClassName(id obj OBJC_M68K_REG("a0")) { return class_getName(object_getClass(obj)); } static void