Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of file src/runtime/class.m at check-in 8d930f2067244ad0
|
2025-06-22
| ||
| 19:32 | Deleted: Point to the new repository check-in: [ec62287f25] user: js branch: trunk, size: 0 | |
|
2025-05-24
| ||
| 14:03 | Restore compatibility with old objfwrt.library Unfortunately MorphOS shipped a pre-release version of the ObjFW runtime that had no stable API and ABI yet. However, it is still possible to be compatible to this old version with just a few minor changes. file: [f7f299096c] check-in: [62d3318e8f] user: js branch: trunk, size: 24724 | |
|
2025-04-25
| ||
| 13:08 | Remove _ struct prefix to make GCC happy again GCC has many conflicting builtins that also behave weirdly. file: [97f553f80e] check-in: [8694b35933] user: js branch: trunk, size: 24504 | |
| 12:16 | runtime: Prefix private functions & structs with _ file: [ebb7b9de55] check-in: [b5f1035b46] user: js branch: trunk, size: 24525 | |
|
2025-04-22
| ||
| 13:58 | class_registerAlias_np(): Fix return type Clang assumes this to return void. file: [63101e5af3] check-in: [0940359d1d] user: js branch: trunk, size: 24366 | |
|
2025-04-13
| ||
| 15:06 | runtime: Optimize retain/(auto)release with ARC file: [598bd7e570] check-in: [5e956ca69f] user: js branch: trunk, size: 24426 | |
|
2025-03-21
| ||
| 01:53 | runtime: Call +[load] on categories file: [da2bed7a69] check-in: [e054a52753] user: js branch: trunk, size: 22694 | |
|
2025-01-01
| ||
| 12:58 | Update copyright file: [aa6a7feca3] check-in: [9d802a786d] user: js branch: trunk, size: 22621 | |
|
2024-04-03
| ||
| 02:16 | Change license to LGPLv3 only file: [f20174e5c5] check-in: [7413a728a7] user: js branch: trunk, size: 22621 | |
|
2024-02-24
| ||
| 19:43 | runtime: Fix objc_getClassList not unlocking mutex file: [eb7440eeb7] check-in: [7a33596a17] user: js branch: 1.0, size: 22364 | |
| 19:42 | runtime: Fix objc_getClassList not unlocking mutex file: [6da45bb3d8] check-in: [39e23d6363] user: js branch: trunk, size: 22413 | |
|
2024-02-03
| ||
| 14:41 | runtime: Add support for associated objects file: [628f2b08c1] check-in: [18ae339de1] user: js branch: trunk, size: 22360 | |
|
2024-01-02
| ||
| 17:17 | Update copyright file: [99bd522eda] check-in: [26ddd2e4e4] user: js branch: trunk, size: 22311 | |
|
2023-07-15
| ||
| 14:26 | runtime: Fix a comment file: [c32cd0bfe5] check-in: [1106d5ad1d] user: js branch: trunk, size: 22311 | |
|
2023-06-19
| ||
| 19:22 | Minor style fixes file: [13704fc982] check-in: [da7db4d68c] user: js branch: trunk, size: 22319 | |
|
2023-05-03
| ||
| 22:22 | Fix compilation with older Clang versions file: [b47c784fc5] check-in: [5591bf6a0b] user: js branch: trunk, size: 22315 | |
|
2023-01-06
| ||
| 09:04 | Update copyright file: [5551b3027e] check-in: [8939cbdb52] user: js branch: trunk, size: 22277 | |
|
2022-11-06
| ||
| 21:19 | Work around an ICE in Clang 3.7.0 on Windows/x86 Apparently the optimizer crashes on some recursive functions. file: [4cb79aa414] check-in: [5c0117205d] user: js branch: trunk, size: 22277 | |
|
2022-09-19
| ||
| 19:10 | Fix missing void in function declarations file: [bcbf47b312] check-in: [41c2b305ce] user: js branch: trunk, size: 22115 | |
|
2022-02-12
| ||
| 07:46 | Update copyright file: [8d4b7cca0f] check-in: [1a86b8175b] user: js branch: trunk, size: 22111 | |
|
2021-05-02
| ||
| 14:28 | Don't use OFEnsure() in runtime file: [8556b52111] check-in: [0c7760bd05] user: js branch: trunk, size: 22111 | |
| 11:43 | runtime: objc_unregisterClass: Get global lock file: [70c18ee4cd] check-in: [ae80dcd8e0] user: js branch: trunk, size: 21950 | |
| 11:34 | runtime: Name things more consistently file: [a72b4d25e1] check-in: [2b75f9e6a0] user: js branch: trunk, size: 21894 | |
|
2021-04-18
| ||
| 15:55 | Rename all functions in macros.h file: [93b6de8609] check-in: [7392685ffc] user: js branch: new-naming-convention, size: 21943 | |
|
2021-01-02
| ||
| 22:04 | Update copyright file: [8c93de1488] check-in: [374e1a1bfa] user: js branch: trunk, size: 21945 | |
|
2020-12-21
| ||
| 22:22 | runtime: Fix double initialization file: [c47f6af2b8] check-in: [68eef83aae] user: js branch: trunk, size: 22034 | |
|
2020-12-20
| ||
| 03:06 | Let OF_ENSURE use OBJC_ERROR in runtime file: [0b3dadf0dd] check-in: [8f271bed22] user: js branch: trunk, size: 21823 | |
|
2020-09-29
| ||
| 21:36 | Merge support for tagged pointers file: [0dc727f4b5] check-in: [b4039f9a85] user: js branch: trunk, size: 21821 | |
|
2020-09-26
| ||
| 19:04 | runtime: Document all public functions file: [25a8ac61a2] check-in: [85ff529ac5] user: js branch: trunk, size: 21734 | |
|
2020-06-29
| ||
| 20:30 | Add support for tagged pointers in object_getClass This already makes tagged pointers work in the non-assembly lookup. file: [02bad041ab] check-in: [8707dd73c4] user: js branch: tagged-pointers, size: 21822 | |
|
2020-01-02
| ||
| 01:51 | Update copyright file: [959b2ef399] check-in: [c7f0229795] user: js branch: trunk, size: 21735 | |
|
2019-12-13
| ||
| 00:00 | runtime: Add class_getInstanceMethod() file: [415251c564] check-in: [9e23a50de7] user: js branch: trunk, size: 21732 | |
|
2019-11-24
| ||
| 23:57 | runtime: Always set class->isa->isa correctly file: [9e1fe8b99e] check-in: [3cc333fb2f] user: js branch: trunk, size: 21768 | |
| 22:23 | runtime: Remove duplicate structs for ABI file: [f4d6489e81] check-in: [c6d2de4312] user: js branch: trunk, size: 21442 | |
| 15:22 | runtime: Make ivars opaque and provide an API file: [d1f09c48dd] check-in: [688eef7561] user: js branch: trunk, size: 21745 | |
|
2019-06-25
| ||
| 20:09 | runtime: Don't use static selectors Static selectors are initialized by a global constructor that might run too late: If a class has a +[load] that triggers an +[initialize], this could result in trying to call +[initialize] with the selector in class.m still being uninitialized. When this happens, it results in a weird looking crash in an entirely unrelated method. This is because when uninitialized, the selector name has not been replaced with a selector UID yet, meaning the pointer to the selector name is treated as the selector UID. As the dispatch only considers the low 16 bits of the selector UID for performance reasons, it will just take the low 16 bits of the pointer to the selector name as the UID without any complaints. This can then result in calling a random method on that class which then crashes. file: [132bb904b5] check-in: [3b3729a316] user: js branch: trunk, size: 21746 | |
|
2019-06-17
| ||
| 00:38 | Remove underscores from library & framework names This is more compatible with the various conventions used on various systems. file: [15508d0871] check-in: [79fe29dbf4] user: js branch: trunk, size: 21132 | |
|
2019-04-14
| ||
| 13:35 | runtime: Match Apple's +[initialize] behavior This now calls +[initialize] several times on the same class if it is unimplemented in one or more of the classes in the chain, to match the behavior of the Apple runtime. While the behavior before was safer, it can lead to testing against the ObjFW runtime and everything working, but then failing when trying to use it with the Apple runtime. file: [889cba075c] check-in: [ede088a30d] user: js branch: trunk, size: 21133 | |
|
2019-02-07
| ||
| 21:55 | More style improvements file: [6851361cb3] check-in: [239fbb269e] user: js branch: trunk, size: 21062 | |
| 21:31 | More style improvements file: [f8bb9979ba] check-in: [754bf24742] user: js branch: trunk, size: 21074 | |
| 00:46 | 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. file: [66376a6ccb] check-in: [ef6d69931e] user: js branch: trunk, size: 20544 | |
|
2019-01-17
| ||
| 21:59 | class_registerAlias_np(): Acquire the global mutex A plugin which calls it might be loaded while already being multi-threaded. file: [241b0f4d77] check-in: [1ac944d7c1] user: js branch: trunk, size: 19581 | |
|
2019-01-03
| ||
| 19:13 | Update copyright file: [0a53af1b21] check-in: [0509d7a844] user: js branch: trunk, size: 19487 | |
|
2018-05-13
| ||
| 02:09 | runtime: Port Amiga library to MorphOS file: [3cdd278d3a] check-in: [95e1ba8d63] user: js branch: trunk, size: 19481 | |
|
2018-05-06
| ||
| 21:39 | runtime: Make Amiga library work with -fbaserel This currently uses __saveds on all exported functions for simplicity. As an optimization, __saveds can be removed from some functions later after careful verification that no code path starting from that function accesses any data. file: [973ed6f5e5] check-in: [482698c5be] user: js branch: trunk, size: 20233 | |
|
2018-05-05
| ||
| 18:06 | runtime: Let objc_get*Class return Class file: [6fa07e9231] check-in: [b3f32186dd] user: js branch: trunk, size: 20093 | |
|
2018-04-30
| ||
| 14:51 | runtime: Never use assert() This results in stdio being linked in when building an Amiga library. file: [b4196ed858] check-in: [2ae3bc33e1] user: js branch: trunk, size: 20084 | |
|
2018-04-29
| ||
| 20:27 | runtime: Add glue functions for Amiga library file: [dc95510919] check-in: [4c72b5544f] user: js branch: trunk, size: 20229 | |
| 19:26 | runtime: Specify m68k registers for most functions file: [8d78186ef9] check-in: [2d8aa8b1e6] user: js branch: trunk, size: 20099 | |
|
2018-04-22
| ||
| 16:13 | runtime: Define BOOL to be the same as bool As we define the ABI, we can just replace BOOL with bool everywhere, including in ObjFW itself. For the Apple platforms where BOOL and bool are different, this is not a problem as BOOL and bool are passed and returned the same way in the ABI. This still defines BOOL to bool for compatibility, except on AmigaOS and Wii, which both have its own BOOL type. file: [8659e5eda9] check-in: [fe2cbe0021] user: js branch: trunk, size: 19487 | |
|
2018-04-08
| ||
| 23:39 | runtime: Small fix for unregister_class() Only restore superclass to the name of the superclass if the class has actually been set up. file: [16946c32d6] check-in: [8651ed04a0] user: js branch: trunk, size: 19487 | |
|
2018-01-21
| ||
| 22:16 | Allow building the runtime as a .framework This also renames ObjFW-RT to ObjFW_RT, as hyphens should not be in framework names. file: [2ddf79d34d] check-in: [0f42b0eafd] user: js branch: trunk, size: 19447 | |
|
2018-01-03
| ||
| 19:49 | Update copyright notice file: [355653e066] check-in: [7e5c81e186] user: js branch: trunk, size: 19447 | |
|
2017-10-01
| ||
| 09:54 | Nullability fixes for ObjFW runtime file: [671f7fc3c1] check-in: [5882409fd0] user: js branch: trunk, size: 19431 | |
|
2017-07-09
| ||
| 15:29 | runtime: Rename include to ObjFW-RT.h file: [d9200138d3] check-in: [5bb771755d] user: js branch: trunk, size: 19424 | |
|
2017-06-07
| ||
| 21:38 | runtime: Move all globals into a single struct This is required to create a .library on MorphOS. file: [de3e6ed813] check-in: [79011c5f56] user: js branch: trunk, size: 19492 | |
|
2017-06-05
| ||
| 01:07 | runtime: get_method(): Look in categories first file: [aedf6b0f5f] check-in: [e55ca11653] user: js branch: trunk, size: 19431 | |
|
2017-05-14
| ||
| 02:15 | runtime: Add nullability annotations file: [ac59d0cf50] check-in: [8c7e612885] user: js branch: trunk, size: 19431 | |
|
2017-05-07
| ||
| 20:10 | Small code style change Casts are now written like types in variable declarations. file: [bb8140f5e4] check-in: [4af49a13c3] user: js branch: trunk, size: 19431 | |
|
2017-01-09
| ||
| 17:36 | Update copyright Forgot to add 2017, even though I already did quite some changes in 2017. file: [a5e62b6d57] check-in: [44f45c2e35] user: js branch: trunk, size: 19418 | |
|
2016-07-05
| ||
| 19:31 | runtime/class.m: Add explicit size_t -> long cast file: [9db3a46267] check-in: [c71706db46] user: js branch: trunk, size: 19412 | |
|
2016-07-03
| ||
| 11:24 | runtime: Add class_addMethod() Also moves out some stuff to functions to be reusable by class_addMethod(). file: [c8cb26401f] check-in: [d4cae4c963] user: js branch: trunk, size: 19328 | |
|
2016-07-02
| ||
| 22:26 | runtime: Add objc_{allocate,register}ClassPair file: [8bf9db28f4] check-in: [5088c339bf] user: js branch: trunk, size: 19505 | |
|
2016-02-21
| ||
| 15:37 | Make use of C99-style for loops file: [5e1eae7608] check-in: [e0b9167693] user: js branch: trunk, size: 18102 | |
|
2016-01-05
| ||
| 22:00 | (u)int_fast*_t -> (u)int*_t (U)INT_FAST*_MAX is broken on Android, which makes (u)int_fast*_t dangerous to use while it does not provide any real speed benefit. file: [ecd4869918] check-in: [d3158d091f] user: js branch: trunk, size: 18120 | |
|
2016-01-03
| ||
| 00:41 | Update copyright While at it, also update the mail address. file: [2f6309b70c] check-in: [2a27cf3000] user: js branch: trunk, size: 18140 | |
|
2015-01-03
| ||
| 20:57 | Update copyright file: [76d3cf3cc0] check-in: [cfd374b906] user: js branch: trunk, size: 18136 | |
|
2014-06-25
| ||
| 17:55 | Small Android fixes * It seems <limits.h> is required for SIZE_MAX. * Use "exec ./tests" inside adb shell. It seems that either new versions of ADB or Android don't return otherwise. file: [775c018011] check-in: [05a247fbe4] user: js branch: trunk, size: 18130 | |
|
2014-05-15
| ||
| 15:32 | Multiple dtable / sparse array improvements * dtable.m is now the old sparse array, using IMP as type for values and thus not violating the C standard anymore (functions may not be stored in void*) * New sparsearray.m which can work with any size, based on the sparse array from the fast path of class.m * Fast path of class.m now uses the new sparsearray.m file: [79ebd88d66] check-in: [1ebb9eb7b3] user: js branch: trunk, size: 18110 | |
| 15:17 | Don't declare objc_classname_to_class inline It is too big already for inlining to make any sense. file: [ae710a7cad] check-in: [e23441b121] user: js branch: trunk, size: 19237 | |
| 03:39 | objc_exit(): Fix the first class not being free'd Also cleans up runtime/hashtable.m a little. file: [e257cf48b1] check-in: [428520105b] user: js branch: trunk, size: 19276 | |
|
2014-05-14
| ||
| 20:28 | Always use __foo__ instead of foo for attributes file: [0d2c7753b9] check-in: [e35b10115e] user: js branch: trunk, size: 19097 | |
|
2014-04-14
| ||
| 00:45 | Coding style No functional change intended. file: [cf051d40ec] check-in: [9da9b2b64c] user: js branch: trunk, size: 19093 | |
|
2014-04-08
| ||
| 16:38 | runtime/hashtable.m: Move some code around file: [fb4bbc3736] check-in: [f447af977a] user: js branch: trunk, size: 19079 | |
|
2014-04-06
| ||
| 14:40 | runtime/hashtable.m: Add support for deletion file: [0fb0e5fd5b] check-in: [c2d9134d88] user: js branch: trunk, size: 19047 | |
|
2014-03-30
| ||
| 00:30 | ObjFW-RT: Call +[unload] on class unregister file: [6289471667] check-in: [1ecef2d7f6] user: js branch: trunk, size: 18930 | |
|
2014-03-23
| ||
| 00:15 | Remove -Wno-deprecated-objc-pointer-introspection file: [91fb9724fc] check-in: [f3154a74aa] user: js branch: trunk, size: 18100 | |
|
2014-03-22
| ||
| 17:56 | Generalize runtime/hashtable.m file: [cb99b9ea3b] check-in: [8d930f2067] user: js branch: trunk, size: 18100 | |
|
2014-02-23
| ||
| 17:54 | Add __attribute__((gnu_inline)) for GCC < 4.3 file: [e32de8ba86] check-in: [7a1e2de2d4] user: js branch: trunk, size: 18066 | |
|
2014-02-13
| ||
| 16:29 | runtime/class.m: Better handling of Nil parameters This matches the behaviour of the Apple runtime. file: [dff5c1b4fe] check-in: [52c0e9f94e] user: js branch: trunk, size: 18038 | |
|
2014-01-13
| ||
| 13:28 | Remove class_isKindOfClass(). This was never used and is not part of the Apple runtime either. file: [3f90a22e50] check-in: [7c0fa1fa85] user: js branch: trunk, size: 17709 | |
|
2014-01-05
| ||
| 22:31 | Change behaviour of class_getMethodImplementation. It behaves like in the Apple runtime now. file: [e18e9ca229] check-in: [3cd9d0ad69] user: js branch: trunk, size: 17886 | |
|
2014-01-04
| ||
| 00:24 | Update copyright. file: [753600fe38] check-in: [3b97fc3cd9] user: js branch: trunk, size: 17158 | |
|
2013-12-20
| ||
| 00:14 | runtime: More consistency in the API. file: [a168991e4e] check-in: [2dec88a9d5] user: js branch: trunk, size: 17152 | |
|
2013-12-19
| ||
| 22:21 | runtime: Add objc_{get,copy}ClassList(). file: [0bf2860357] check-in: [035fa09270] user: js branch: trunk, size: 17143 | |
| 20:15 | runtime: New API for internal unregister methods. file: [3ec80df1e8] check-in: [b4231b1df9] user: js branch: trunk, size: 15926 | |
|
2013-12-06
| ||
| 00:52 | Add a fast path for objc_classname_to_class(). This should improve the performance for the GCC ABI, as objc_classname_to_class() is used for all sorts of class lookups, e.g. objc_lookup_class(). As this performance improvement needs RAM, it is only used after 128 calls into objc_classname_to_class(), so that if the ObjFW ABI is used and the user does not call into objc_getClass() or similar in a loop, no memory is wasted. Runtime internal usage of objc_classname_to_class() does not use the fast path and does not count as a call into objc_classname_to_class(). The reason for this is that if the runtime calls objc_classname_to_class(), it already has the lock and thus the performance gain would be small, but it would waste memory. file: [e9b6e354b6] check-in: [84a724dd4b] user: js branch: trunk, size: 15844 | |
|
2013-11-22
| ||
| 23:24 | runtime: Add support for non-fragile ivars. file: [0500525bf9] check-in: [3780f1462e] user: js branch: trunk, size: 13227 | |
|
2013-06-17
| ||
| 08:54 | Replace a few asserts with OF_ENSURE / OBJC_ERROR. file: [179d6825a3] check-in: [dc17a614e8] user: js branch: trunk, size: 12580 | |
|
2013-03-18
| ||
| 13:17 | Make GCC happy again. file: [6e9f617165] check-in: [074f577275] user: js branch: trunk, size: 12601 | |
|
2013-03-14
| ||
| 20:20 | Tag class pointers for @compatibility_aliases. This makes it possible to find aliases in the classes hashtable and not call objc_free_class() on them. file: [5994e9e90d] check-in: [69d9f76520] user: js branch: trunk, size: 12594 | |
|
2013-03-09
| ||
| 09:24 | Fix objc_exit() and add it to tests. file: [9014452587] check-in: [7baf58021d] user: js branch: trunk, size: 12530 | |
|
2013-03-08
| ||
| 23:00 | Take advantage of realloc(NULL, n) being defined. file: [c828b98623] check-in: [e8d6ca16e7] user: js branch: trunk, size: 12358 | |
|
2013-03-04
| ||
| 17:20 | Replace BOOL with bool. The only places where BOOL is left are those where they are required by the ABI. file: [d8be8e78d1] check-in: [c5ef582958] user: js branch: trunk, size: 12447 | |
|
2013-02-17
| ||
| 10:14 | Remove -Wno-deprecated-objc-isa-usage. Inside object_{get,set}Class, a cast is used to get rid of the warning now and all other direct isa references were removed. file: [640206d718] check-in: [2347371351] user: js branch: trunk, size: 12439 | |
|
2013-01-09
| ||
| 22:24 | Update copyright. file: [0cc7cd7988] check-in: [813c00ccf0] user: js branch: trunk, size: 12310 | |
|
2012-12-06
| ||
| 01:19 | Don't inline runtime functions. file: [9dc5ac3596] check-in: [7fe9b2e320] user: js branch: trunk, size: 12304 | |
|
2012-11-30
| ||
| 16:09 | Make runtime API more similar to Apple's. This makes it easier to use runtime functions in portable code. file: [72c72347b1] check-in: [120caad331] user: js branch: trunk, size: 11993 | |
| 15:41 | Remove inline that lead to a missing symbol. file: [2c7fbf6833] check-in: [99766b222c] user: js branch: 0.7, size: 11674 | |
| 15:40 | Remove inline that lead to a missing symbol. file: [fb20a2022a] check-in: [3b58706d32] user: js branch: trunk, size: 11768 | |
|
2012-11-14
| ||
| 08:00 | Fix objc_get_type_encoding(). file: [d1989ac845] check-in: [28f58d5a6e] user: js branch: trunk, size: 11775 | |
|
2012-09-06
| ||
| 19:13 | Add objc_{construct,destruct}Instance(). file: [d471bf4a2f] check-in: [20c584252c] user: js branch: trunk, size: 12946 | |
|
2012-08-05
| ||
| 16:52 | Fix a possible race condition in initialize_class. file: [cde4d41e21] check-in: [8f02ff02dc] user: js branch: trunk, size: 11681 | |
|
2012-07-17
| ||
| 01:09 | Rename ERROR() to OBJC_ERROR(). ERROR seems to be defined on MinGW32 and it's likely that it's also used on other systems, thus it's better to prefix it with OBJC_. file: [0f8bf1f4e6] check-in: [345eb93240] user: js branch: trunk, size: 11633 | |
|
2012-07-15
| ||
| 00:45 | Fix a bug in free_class. file: [2ee4c27804] check-in: [1633ea5d2a] user: js branch: trunk, size: 11603 | |
|
2012-05-10
| ||
| 18:21 | objc_hashtable_alloc() -> objc_hashtable_new(). For consistency. file: [db289f8cb1] check-in: [963db3089f] user: js branch: runtime, size: 11574 | |
|
2012-05-09
| ||
| 13:55 | Initialize classes on the first dispatch. This is no longer done in objc_msg_lookup() and thus allows direct class references. file: [16b932ec92] check-in: [dcf845546a] user: js branch: runtime, size: 11576 | |
|
2012-04-22
| ||
| 15:56 | Add class_registerAlias_np(). It's required by Clang for @compatibility_alias, even with the fragile ABI. This might be a bug in Clang, as _np means non-portable and Clang should not just emit references to such symbols. file: [886ace82f1] check-in: [8525f9600e] user: js branch: runtime, size: 11088 | |
|
2012-04-21
| ||
| 13:47 | Ensure all selectors are registered before load. file: [a7f5437671] check-in: [d5236bb40e] user: js branch: runtime, size: 10935 | |
| 13:05 | Properly copy methods from superclass first. file: [7aa459dc9f] check-in: [8c368f8f38] user: js branch: runtime, size: 10912 | |
| 13:04 | Avoid useless looking for +[load] method. file: [aa051ec745] check-in: [c03268e4c6] user: js branch: runtime, size: 10934 | |
| 12:52 | Move objc_classname_to_class. file: [59d640393e] check-in: [7bbd6e43fe] user: js branch: runtime, size: 10889 | |
| 10:56 | Remove useless thread-checking. file: [a1cee08383] check-in: [555445ce0a] user: js branch: runtime, size: 10889 | |
|
2012-04-20
| ||
| 13:54 | Fix load queue. file: [5cd9de1e6b] check-in: [70807340fb] user: js branch: runtime, size: 10970 | |
| 13:52 | Correctly setup and initialize classes. file: [4ee747388f] check-in: [69f63f872a] user: js branch: runtime, size: 10971 | |
|
2012-04-18
| ||
| 18:41 | Correctly call load. file: [93558a0a33] check-in: [d13674c4c9] user: js branch: runtime, size: 10621 | |
| 18:00 | Split OBJC_CLASS_INFO_INITIALIZED. We now have OBJC_CLASS_INFO_{SETUP,LOADED,INITIALIZED}. file: [106999ef41] check-in: [5a719c9b1f] user: js branch: runtime, size: 9487 | |
| 17:29 | Add cast to make Clang happy. file: [4b0eeefabc] check-in: [3ae7423995] user: js branch: runtime, size: 9190 | |
| 17:26 | Remove unnecessary interface. file: [82ae92bc57] check-in: [1bf4571d60] user: js branch: runtime, size: 9185 | |
|
2012-04-08
| ||
| 15:03 | Return Nil for incomplete classes. It's better to handle the class like it does not even exist in case it is not completely loaded. Throwing an error there introcudes trouble with static instances which try to get the class before initializing the static instances, so objc_lookup_class() should never throw an error. file: [227edc0aad] check-in: [0e35ae63a5] user: js branch: runtime, size: 9246 | |
| 14:25 | Properly call initialize. file: [04350ea410] check-in: [36d5f460a5] user: js branch: runtime, size: 9298 | |
|
2012-03-23
| ||
| 15:42 | rootclass->isa->superclass is rootclass. file: [1eef7dbe27] check-in: [aa179b6d0a] user: js branch: runtime, size: 8987 | |
| 14:54 | Add class_getMethodImplementation(). file: [16e53b23a5] check-in: [46105d56c7] user: js branch: runtime, size: 9117 | |
| 11:08 | Fix class_replaceMethod(). file: [c6f580ab0e] check-in: [db2fccd01f] user: js branch: runtime, size: 9231 | |
| 10:46 | Fix objc_get_type_encoding(). file: [53297dd85d] check-in: [4cf75724eb] user: js branch: runtime, size: 9241 | |
| 10:45 | Add a cast to make Clang happy. file: [b053085faa] check-in: [2179411c60] user: js branch: runtime, size: 9243 | |
|
2012-03-06
| ||
| 16:24 | objc_replace_{class,instance}_method() -> class_replaceMethod(). file: [79e5f03637] check-in: [2e39765aa2] user: js branch: runtime, size: 9226 | |
|
2012-03-04
| ||
| 23:48 | Better dissection of what should be public and private. file: [44fd744eb1] check-in: [31e7b3d756] user: js branch: runtime, size: 10504 | |
| 20:37 | Sometimes it's hard to make GCC and Clang happy at the same time... file: [283e2434aa] check-in: [2373a7777d] user: js branch: runtime, size: 10624 | |
| 20:24 | Make Clang with -Wshorten-64-to-32 happy. file: [6ae6224b73] check-in: [40fbc318bb] user: js branch: runtime, size: 10600 | |
| 20:20 | Added: Import and integrate ObjFW-RT. file: [df2c4cfdda] check-in: [129f90b580] user: js branch: runtime, size: 10582 | |