@@ -1,76 +1,70 @@ ##base _ObjFWRTBase ##bias 30 ##public * Functions that are only for the linklib. -objc_init(version,libc,stdout,stderr)(d0,a0,a1,a2) -* These have a built-in declaration in the compiler that does not use the - registers and thus always need glue. -__objc_exec_class(module)(a0) -objc_msg_lookup(object,selector)(a0,a1) -objc_msg_lookup_stret(object,selector)(a0,a1) -objc_msg_lookup_super(super,selector)(a0,a1) -objc_msg_lookup_super_stret(super,selector)(a0,a1) -objc_lookUpClass(name)(a0) -objc_getClass(name)(a0) -objc_getRequiredClass(name)(a0) -objc_lookup_class(name)(a0) -objc_get_class(name)(a0) -objc_exception_throw(object)(a0) -objc_sync_enter(object)(a0) -objc_sync_exit(object)(a0) -objc_getProperty(self,_cmd,offset,atomic)(a0,a1,d0,d1) -objc_setProperty(self,_cmd,offset,value,atomic,copy)(a0,a1,d0,a2,d1,d2) -objc_getPropertyStruct(dest,src,size,atomic,strong)(a0,a1,d0,d1,d2) -objc_setPropertyStruct(dest,src,size,atomic,strong)(a0,a1,d0,d1,d2) -objc_enumerationMutation(object)(a0) -__gnu_objc_personality_v0_m68k(version,actions,exClass,ex,ctx)(d0,d1,d2,a0,a1) -__gnu_objc_personality_sj0_m68k(version,actions,exClass,ex,ctx)(d0,d1,d2,a0,a1) -objc_retain(object)(a0) -objc_retainBlock(block)(a0) -objc_retainAutorelease(object)(a0) -objc_release(object)(a0) -objc_autorelease(object)(a0) -objc_autoreleaseReturnValue(object)(a0) -objc_retainAutoreleaseReturnValue(object)(a0) -objc_retainAutoreleasedReturnValue(object)(a0) -objc_storeStrong(object,value)(a0,a1) -objc_storeWeak(object,value)(a0,a1) -objc_loadWeakRetained(object)(a0) -objc_initWeak(object,value)(a0,a1) -objc_destroyWeak(object)(a0) -objc_loadWeak(object)(a0) -objc_copyWeak(dest,src)(a0,a1) -objc_moveWeak(dest,src)(a0,a1) -* These only need glue on MorphOS. As none of them are functions that are used - in hot paths, it's easier to also use the glue on AmigaOS 3, which also has - the benefit of having all __saveds in a single place. -sel_registerName(name)(a0) -sel_getName(selector)(a0) -sel_isEqual(selector1,selector2)(a0,a1) -objc_allocateClassPair(superclass,name,extraBytes)(a0,a1,d0) -objc_registerClassPair(class_)(a0) -objc_getClassList(buffer,count)(a0,d0) -objc_copyClassList(length)(a0) -class_isMetaClass(class_)(a0) -class_getName(class_)(a0) -class_getSuperclass(class_)(a0) -class_getInstanceSize(class_)(a0) -class_respondsToSelector(class_,selector)(a0,a1) -class_conformsToProtocol(class_,p)(a0,a1) -class_getMethodImplementation(class_,selector)(a0,a1) -class_getMethodImplementation_stret(class_,selector)(a0,a1) -class_getMethodTypeEncoding(class_,selector)(a0,a1) -class_addMethod(class_,selector,implementation,typeEncoding)(a0,a1,a2,a3) -class_replaceMethod(class_,selector,implementation,typeEncoding)(a0,a1,a2,a3) -object_getClass(object)(a0) -object_setClass(object,class_)(a0,a1) -object_getClassName(object)(a0) -protocol_getName(protocol)(a0) -protocol_isEqual(protocol1,protocol2)(a0,a1) -protocol_conformsToProtocol(protocol1,protocol2)(a0,a1) -objc_exit()() -objc_setUncaughtExceptionHandler(handler)(a0) -objc_setForwardHandler(forward,stretForward)(a0,a1) -objc_setEnumerationMutationHandler(handler)(a0) -objc_zero_weak_references(value)(a0) +glue_objc_init(version,libc,stdout,stderr)(sysv,r12base) +glue___objc_exec_class(module)(sysv,r12base) +glue_objc_msg_lookup(object,selector)(sysv,r12base) +glue_objc_msg_lookup_stret(object,selector)(sysv,r12base) +glue_objc_msg_lookup_super(super,selector)(sysv,r12base) +glue_objc_msg_lookup_super_stret(super,selector)(sysv,r12base) +glue_objc_lookUpClass(name)(sysv,r12base) +glue_objc_getClass(name)(sysv,r12base) +glue_objc_getRequiredClass(name)(sysv,r12base) +glue_objc_lookup_class(name)(sysv,r12base) +glue_objc_get_class(name)(sysv,r12base) +glue_objc_exception_throw(object)(sysv,r12base) +glue_objc_sync_enter(object)(sysv,r12base) +glue_objc_sync_exit(object)(sysv,r12base) +glue_objc_getProperty(self,_cmd,offset,atomic)(sysv,r12base) +glue_objc_setProperty(self,_cmd,offset,value,atomic,copy)(sysv,r12base) +glue_objc_getPropertyStruct(dest,src,size,atomic,strong)(sysv,r12base) +glue_objc_setPropertyStruct(dest,src,size,atomic,strong)(sysv,r12base) +glue_objc_enumerationMutation(object)(sysv,r12base) +glue___gnu_objc_personality(version,actions,exClass,ex,ctx)(sysv,r12base) +glue_objc_retain(object)(sysv,r12base) +glue_objc_retainBlock(block)(sysv,r12base) +glue_objc_retainAutorelease(object)(sysv,r12base) +glue_objc_release(object)(sysv,r12base) +glue_objc_autorelease(object)(sysv,r12base) +glue_objc_autoreleaseReturnValue(object)(sysv,r12base) +glue_objc_retainAutoreleaseReturnValue(object)(sysv,r12base) +glue_objc_retainAutoreleasedReturnValue(object)(sysv,r12base) +glue_objc_storeStrong(object,value)(sysv,r12base) +glue_objc_storeWeak(object,value)(sysv,r12base) +glue_objc_loadWeakRetained(object)(sysv,r12base) +glue_objc_initWeak(object,value)(sysv,r12base) +glue_objc_destroyWeak(object)(sysv,r12base) +glue_objc_loadWeak(object)(sysv,r12base) +glue_objc_copyWeak(dest,src)(sysv,r12base) +glue_objc_moveWeak(dest,src)(sysv,r12base) +glue_sel_registerName(name)(sysv,r12base) +glue_sel_getName(selector)(sysv,r12base) +glue_sel_isEqual(selector1,selector2)(sysv,r12base) +glue_objc_allocateClassPair(superclass,name,extraBytes)(sysv,r12base) +glue_objc_registerClassPair(class_)(sysv,r12base) +glue_objc_getClassList(buffer,count)(sysv,r12base) +glue_objc_copyClassList(length)(sysv,r12base) +glue_class_isMetaClass(class_)(sysv,r12base) +glue_class_getName(class_)(sysv,r12base) +glue_class_getSuperclass(class_)(sysv,r12base) +glue_class_getInstanceSize(class_)(sysv,r12base) +glue_class_respondsToSelector(class_,selector)(sysv,r12base) +glue_class_conformsToProtocol(class_,p)(sysv,r12base) +glue_class_getMethodImplementation(class_,selector)(sysv,r12base) +glue_class_getMethodImplementation_stret(class_,selector)(sysv,r12base) +glue_class_getMethodTypeEncoding(class_,selector)(sysv,r12base) +glue_class_addMethod(class_,selector,implementation,typeEncoding)(sysv,r12base) +glue_class_replaceMethod(class_,selector,implementation,typeEncoding)(sysv,r12base) +glue_object_getClass(object)(sysv,r12base) +glue_object_setClass(object,class_)(sysv,r12base) +glue_object_getClassName(object)(sysv,r12base) +glue_protocol_getName(protocol)(sysv,r12base) +glue_protocol_isEqual(protocol1,protocol2)(sysv,r12base) +glue_protocol_conformsToProtocol(protocol1,protocol2)(sysv,r12base) +glue_objc_setUncaughtExceptionHandler(handler)(sysv,r12base) +glue_objc_setForwardHandler(forward,stretForward)(sysv,r12base) +glue_objc_setEnumerationMutationHandler(handler)(sysv,r12base) +glue_objc_zero_weak_references(value)(sysv,r12base) +glue_objc_exit()(sysv,r12base) ##end