Artifact fb5bdffa34ae968c27b5cd43847686ed5b1830ea7c94e8c3c11cbb4b5f054534:
- File
src/runtime/ObjFW_RT.sfd
— part of check-in
[ef6d69931e]
at
2019-02-07 00:46:41
on branch trunk
— Make style consistent between ObjFW and ObjFW_RT
ObjFW_RT used to be a separate project that followed the BSD style, as
it was written in pure C, while ObjFW's style is based on the BSD style
with changes to make it a better fit for Objective-C. This commit
changes ObjFW_RT to use the same style as ObjFW. (user: js, size: 6298) [annotate] [blame] [check-ins using]
==base _ObjFWRTBase ==basetype struct Library * ==libname objfw_rt.library ==bias 30 ==public * Functions that are only for the linklib. bool objc_init_m68k(unsigned int version, struct objc_libc *libc, FILE *stdout, FILE *stdin)(d0,a0,a1,a2) * These have a built-in declaration in the compiler that does not use the * registers and thus always need glue. void __objc_exec_class_m68k(void *_Nonnull module)(a0) IMP _Nonnull objc_msg_lookup_m68k(id _Nullable object, SEL _Nonnull selector)(a0,a1) IMP _Nonnull objc_msg_lookup_stret_m68k(id _Nullable object, SEL _Nonnull selector)(a0,a1) IMP _Nonnull objc_msg_lookup_super_m68k(struct objc_super *_Nonnull super, SEL _Nonnull selector)(a0,a1) IMP _Nonnull objc_msg_lookup_super_stret_m68k(struct objc_super *_Nonnull super, SEL _Nonnull selector)(a0,a1) Class _Nullable objc_lookUpClass_m68k(const char *_Nonnull name)(a0) Class _Nullable objc_getClass_m68k(const char *_Nonnull name)(a0) Class _Nonnull objc_getRequiredClass_m68k(const char *_Nonnull name)(a0) Class _Nullable objc_lookup_class_m68k(const char *_Nonnull name)(a0) Class _Nonnull objc_get_class_m68k(const char *_Nonnull name)(a0) void objc_exception_throw_m68k(id _Nonnull object)(a0) int objc_sync_enter_m68k(id _Nullable object)(a0) int objc_sync_exit_m68k(id _Nullable object)(a0) id objc_getProperty_m68k(id _Nonnull self, SEL _Nonnull _cmd, ptrdiff_t offset, bool atomic)(a0,a1,d0,d1) void objc_setProperty_m68k(id _Nonnull self, SEL _Nonnull _cmd, ptrdiff_t offset, id value, bool atomic, signed char copy)(a0,a1,d0,a2,d1,d2) void objc_getPropertyStruct_m68k(void *_Nonnull dest, const void *_Nonnull src, ptrdiff_t size, bool atomic, bool strong)(a0,a1,d0,d1,d2) void objc_setPropertyStruct_m68k(void *_Nonnull dest, const void *_Nonnull src, ptrdiff_t size, bool atomic, bool strong)(a0,a1,d0,d1,d2) void objc_enumerationMutation_m68k(id _Nonnull obj)(a0) int __gnu_objc_personality_v0_m68k(int version, int actions, uint64_t *_Nonnull exClass, void *_Nonnull ex, void *_Nonnull ctx)(d0,d1,d2,a0,a1) int __gnu_objc_personality_sj0_m68k(int version, int actions, uint64_t *_Nonnull exClass, void *_Nonnull ex, void *_Nonnull ctx)(d0,d1,d2,a0,a1) id _Nullable objc_retain_m68k(id _Nullable object)(a0) id _Nullable objc_retainBlock_m68k(id _Nullable block)(a0) id _Nullable objc_retainAutorelease_m68k(id _Nullable object)(a0) void objc_release_m68k(id _Nullable object)(a0) id _Nullable objc_autorelease_m68k(id _Nullable object)(a0) id _Nullable objc_autoreleaseReturnValue_m68k(id _Nullable object)(a0) id _Nullable objc_retainAutoreleaseReturnValue_m68k(id _Nullable object)(a0) id _Nullable objc_retainAutoreleasedReturnValue_m68k(id _Nullable object)(a0) id _Nullable objc_storeStrong_m68k(id _Nullable *_Nonnull object, id _Nullable value)(a0/a1) id _Nullable objc_storeWeak_m68k(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) id _Nullable objc_loadWeakRetained_m68k(id _Nullable *_Nonnull object)(a0) id _Nullable objc_initWeak_m68k(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) void objc_destroyWeak_m68k(id _Nullable *_Nonnull object)(a0) id _Nullable objc_loadWeak_m68k(id _Nullable *_Nonnull object)(a0) void objc_copyWeak_m68k(id _Nullable *_Nonnull dest, id _Nullable *_Nonnull src)(a0,a1) void objc_moveWeak_m68k(id _Nullable *_Nonnull dest, id _Nullable *_Nonnull 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 _Nonnull sel_registerName_m68k(const char *_Nonnull name)(a0) const char *_Nonnull sel_getName_m68k(SEL _Nonnull selector)(a0) bool sel_isEqual_m68k(SEL _Nonnull selector1, SEL _Nonnull selector2)(a0,a1) Class _Nonnull objc_allocateClassPair_m68k(Class _Nullable superclass, const char *_Nonnull name, size_t extraBytes)(a0,a1,d0) void objc_registerClassPair_m68k(Class _Nonnull cls)(a0) unsigned int objc_getClassList_m68k(Class _Nonnull *_Nullable buffer, unsigned int count)(a0,d0) Class _Nonnull *_Nonnull objc_copyClassList_m68k(unsigned int *_Nullable length)(a0) bool class_isMetaClass_m68k(Class _Nullable cls)(a0) const char *_Nullable class_getName_m68k(Class _Nullable cls)(a0) Class _Nullable class_getSuperclass_m68k(Class _Nullable cls)(a0) unsigned long class_getInstanceSize_m68k(Class _Nullable cls)(a0) bool class_respondsToSelector_m68k(Class _Nullable cls, SEL _Nonnull selector)(a0,a1) bool class_conformsToProtocol_m68k(Class _Nullable cls, Protocol *_Nonnull p)(a0,a1) IMP _Nullable class_getMethodImplementation_m68k(Class _Nullable cls, SEL _Nonnull selector)(a0,a1) IMP _Nullable class_getMethodImplementation_stret_m68k(Class _Nullable cls, SEL _Nonnull selector)(a0,a1) const char *_Nullable class_getMethodTypeEncoding_m68k(Class _Nullable cls, SEL _Nonnull selector)(a0,a1) bool class_addMethod_m68k(Class _Nonnull cls, SEL _Nonnull selector, IMP _Nonnull implementation, const char *_Nullable typeEncoding)(a0,a1,a2,a3) IMP _Nullable class_replaceMethod_m68k(Class _Nonnull cls, SEL _Nonnull selector, IMP _Nonnull implementation, const char *_Nullable typeEncoding)(a0,a1,a2,a3) Class _Nullable object_getClass_m68k(id _Nullable object)(a0) Class _Nullable object_setClass_m68k(id _Nullable object, Class _Nonnull cls)(a0,a1) const char *_Nullable object_getClassName_m68k(id _Nullable object)(a0) const char *_Nonnull protocol_getName_m68k(Protocol *_Nonnull protocol)(a0) bool protocol_isEqual_m68k(Protocol *_Nonnull protocol1, Protocol *_Nonnull protocol2)(a0,a1) bool protocol_conformsToProtocol_m68k(Protocol *_Nonnull protocol1, Protocol *_Nonnull protocol2)(a0,a1) void objc_exit_m68k(void)() _Nullable objc_uncaught_exception_handler objc_setUncaughtExceptionHandler_m68k(objc_uncaught_exception_handler _Nullable handler)(a0) void objc_setForwardHandler_m68k(IMP _Nullable forward, IMP _Nullable stretForward)(a0,a1) void objc_setEnumerationMutationHandler_m68k(objc_enumeration_mutation_handler _Nullable handler)(a0) void objc_zero_weak_references_m68k(id _Nonnull value)(a0) * SysV functions for MorphOS could be added here for performance. Having them * in addition to the m68k functions allows m68k applications to call into the * PPC library, while native code can use the SysV functions. ==end