ObjFW  morphos.fd at [8f9c2b55ce]

File src/runtime/morphos.fd artifact 7e9de9f641 part of check-in 8f9c2b55ce


##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(version,actions,exClass,ex,ctx)(d0,d1,d2,a0,a1)
__gnu_objc_personality_sj0(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)
##end