ObjFW  History of src/runtime/selector.m of f588271db7b47938

History of the file that is called src/runtime/selector.m at check-in f588271db7b47938

2024-04-03
02:16
[2639ab65b4] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 3648) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[ad46e99f3d] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 3440) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[ea6ec466b1] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 3440) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[9a44ebdc88] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 3440) [annotate] [blame] [check-ins using] [diff]
2021-05-02
14:28
[595eb87101] part of check-in [0c7760bd05] Don't use OFEnsure() in runtime (check-in: [0c7760bd05] user: js, branch: trunk, size: 3440) [annotate] [blame] [check-ins using] [diff]
11:34
[5e713d47e2] part of check-in [2b75f9e6a0] runtime: Name things more consistently (check-in: [2b75f9e6a0] user: js, branch: trunk, size: 3496) [annotate] [blame] [check-ins using] [diff]
2021-04-25
19:41
[7cee0dae00] part of check-in [fd51df7022] OFStrdup -> OFStrDup and slightly change behavior (check-in: [fd51df7022] user: js, branch: trunk, size: 3446) [annotate] [blame] [check-ins using] [diff]
2021-04-18
15:55
[c3a8468168] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 3443) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[1d967febe8] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 3444) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[6cde6e59e2] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 3533) [annotate] [blame] [check-ins using] [diff]
2019-11-24
22:23
[b2795ffb4b] part of check-in [c6d2de4312] runtime: Remove duplicate structs for ABI (check-in: [c6d2de4312] user: js, branch: trunk, size: 3530) [annotate] [blame] [check-ins using] [diff]
2019-06-17
00:38
[99b2d0f965] part of check-in [79fe29dbf4] Remove underscores from library & framework names

This is more compatible with the various conventions used on various
systems. (check-in: [79fe29dbf4] user: js, branch: trunk, size: 3651) [annotate] [blame] [check-ins using] [diff]

2019-02-07
21:31
[97ce324a27] part of check-in [754bf24742] More style improvements (check-in: [754bf24742] user: js, branch: trunk, size: 3652) [annotate] [blame] [check-ins using] [diff]
00:46
[6c2deedb05] part of check-in [ef6d69931e] 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. (check-in: [ef6d69931e] user: js, branch: trunk, size: 3503) [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
[739d0a98ef] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 3470) [annotate] [blame] [check-ins using] [diff]
2018-05-06
21:39
[7ad9a1d734] part of check-in [482698c5be] 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. (check-in: [482698c5be] user: js, branch: trunk, size: 3570) [annotate] [blame] [check-ins using] [diff]

2018-04-29
19:26
[7ee8175e8f] part of check-in [2d8aa8b1e6] runtime: Specify m68k registers for most functions (check-in: [2d8aa8b1e6] user: js, branch: trunk, size: 3544) [annotate] [blame] [check-ins using] [diff]
2018-01-21
22:16
[c1a16c1dcc] part of check-in [0f42b0eafd] Allow building the runtime as a .framework

This also renames ObjFW-RT to ObjFW_RT, as hyphens should not be in
framework names. (check-in: [0f42b0eafd] user: js, branch: trunk, size: 3464) [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
[b706eb0b5b] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 3464) [annotate] [blame] [check-ins using] [diff]
2017-10-01
09:54
[b4ebf0ad92] part of check-in [5882409fd0] Nullability fixes for ObjFW runtime (check-in: [5882409fd0] user: js, branch: trunk, size: 3483) [annotate] [blame] [check-ins using] [diff]
2017-07-09
15:29
[1deeb73a3c] part of check-in [5bb771755d] runtime: Rename include to ObjFW-RT.h (check-in: [5bb771755d] user: js, branch: trunk, size: 3441) [annotate] [blame] [check-ins using] [diff]
2017-06-07
21:38
[f5a125315c] part of check-in [79011c5f56] runtime: Move all globals into a single struct

This is required to create a .library on MorphOS. (check-in: [79011c5f56] user: js, branch: trunk, size: 3547) [annotate] [blame] [check-ins using] [diff]

2017-05-07
20:10
[57debffc40] part of check-in [4af49a13c3] Small code style change

Casts are now written like types in variable declarations. (check-in: [4af49a13c3] user: js, branch: trunk, size: 3448) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[b4065297e3] part of check-in [44f45c2e35] Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. (check-in: [44f45c2e35] user: js, branch: trunk, size: 3442) [annotate] [blame] [check-ins using] [diff]

2016-02-21
15:37
[106040fda3] part of check-in [e0b9167693] Make use of C99-style for loops (check-in: [e0b9167693] user: js, branch: trunk, size: 3436) [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:41
[1df1d6cb9f] part of check-in [2a27cf3000] Update copyright

While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 3442) [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
[8b1250e2e8] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 3438) [annotate] [blame] [check-ins using] [diff]
2014-05-15
15:32
[c0034eeff2] part of check-in [1ebb9eb7b3] 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 (check-in: [1ebb9eb7b3] user: js, branch: trunk, size: 3432) [annotate] [blame] [check-ins using] [diff]

2014-03-22
17:56
[c556b01892] part of check-in [8d930f2067] Generalize runtime/hashtable.m (check-in: [8d930f2067] user: js, branch: trunk, size: 3377) [annotate] [blame] [check-ins using] [diff]
2014-02-13
23:26
[915bbfe8d7] part of check-in [2f5af58573] Use -std=c11 instead of -std=gnu11

Not using -std=gnu11 means _GNU_SOURCE does not get defined anymore,
therefore this commit also adds the required feature defines for glibc.

Additionally, this adds of_strdup in macros.h, as strdup is an
extension. (check-in: [2f5af58573] user: js, branch: trunk, size: 3333) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[e3b6fb662f] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 3310) [annotate] [blame] [check-ins using] [diff]
2013-12-19
20:15
[95506f87f9] part of check-in [b4231b1df9] runtime: New API for internal unregister methods. (check-in: [b4231b1df9] user: js, branch: trunk, size: 3304) [annotate] [blame] [check-ins using] [diff]
2013-11-26
10:25
[743b892159] part of check-in [0ede45ce93] runtime: Free runtime created selectors at exit.

When a selector was created using sel_registerName(), it was not free'd
on exit, as selectors not created using sel_registerName did not need
any freeing. This adds a list of selectors created using
sel_registerName() and frees them on exit.

This is only relevant if objc_exit() is used to free all memory occupied
by the runtime. objc_exit() is only useful for debugging memory leaks,
so there was no real world effect. (check-in: [0ede45ce93] user: js, branch: trunk, size: 3298) [annotate] [blame] [check-ins using] [diff]

2013-03-04
17:20
[64e4076187] part of check-in [c5ef582958] Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. (check-in: [c5ef582958] user: js, branch: trunk, size: 2873) [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
[bb5e87f578] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 2871) [annotate] [blame] [check-ins using] [diff]
2012-12-28
02:46
[2845ace0ff] part of check-in [511a372fb8] Make 16 bit selector UIDs the default. (check-in: [511a372fb8] user: js, branch: trunk, size: 2865) [annotate] [blame] [check-ins using] [diff]
2012-12-26
15:25
[80ce19c002] part of check-in [9741a3d43b] selector.m: Correctly check for slot exhaustion. (check-in: [9741a3d43b] user: js, branch: trunk, size: 2866) [annotate] [blame] [check-ins using] [diff]
2012-07-17
01:09
[c767975d02] part of check-in [345eb93240] 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_. (check-in: [345eb93240] user: js, branch: trunk, size: 2866) [annotate] [blame] [check-ins using] [diff]

2012-07-09
21:10
[f1aef89fda] part of check-in [e5b241b72d] Fix two bugs in sel_registerName.

The first was that sel_registerName would crash if no selector has ever
been registered before. This caused a crash on NetBSD in has_load, as
the first class being loaded there (Protocol) had no selectors and
has_load uses sel_registerName in order to get the load selector.

The second one was that the hashtable was read without a lock to see if
the selector has already been registered before. (check-in: [e5b241b72d] user: js, branch: trunk, size: 2851) [annotate] [blame] [check-ins using] [diff]

2012-05-10
18:38
[ce39c495db] part of check-in [3f0b9df793] Sequential selectors to reduce fragmentation.

This way, the sparsearrays for the dtables should be smaller. (check-in: [3f0b9df793] user: js, branch: runtime, size: 2789) [annotate] [blame] [check-ins using] [diff]

2012-05-08
20:30
[d31a7805ef] part of check-in [fef47937e5] Add support for 16 bit selector UIDs. (check-in: [fef47937e5] user: js, branch: runtime, size: 2671) [annotate] [blame] [check-ins using] [diff]
2012-05-07
08:24
[f394a43240] part of check-in [1315dd59d4] Abort when all selector slots are exhausted. (check-in: [1315dd59d4] user: js, branch: runtime, size: 2590) [annotate] [blame] [check-ins using] [diff]
08:22
[687a3c992c] part of check-in [ee5fd980f8] Use lower 24 bits of the selector hash. (check-in: [ee5fd980f8] user: js, branch: runtime, size: 2530) [annotate] [blame] [check-ins using] [diff]
2012-04-22
12:15
[e0ff7d4f75] part of check-in [e1586f4dce] A few casts to make Clang happy. (check-in: [e1586f4dce] user: js, branch: runtime, size: 2524) [annotate] [blame] [check-ins using] [diff]
2012-03-05
00:01
[c0f228fae6] part of check-in [7215a36f5a] Add sel_isEqual(). (check-in: [7215a36f5a] user: js, branch: runtime, size: 2514) [annotate] [blame] [check-ins using] [diff]
2012-03-04
20:20
Added: [8b3f8d4a11] part of check-in [129f90b580] Import and integrate ObjFW-RT. (check-in: [129f90b580] user: js, branch: runtime, size: 2440) [annotate] [blame] [check-ins using]