ObjFW  History of src/runtime/selector.m of 4f84f6d38962997c

History of file src/runtime/selector.m at check-in 4f84f6d38962997c

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

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

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

2019-01-03
19:13
Update copyright file: [739d0a98ef] check-in: [0509d7a844] user: js, branch: trunk, size: 3470 [annotate] [blame] [check-ins using] [diff]
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: [7ad9a1d734] check-in: [482698c5be] user: js, branch: trunk, size: 3570 [annotate] [blame] [check-ins using] [diff]

2018-04-29
19:26
runtime: Specify m68k registers for most functions file: [7ee8175e8f] check-in: [2d8aa8b1e6] user: js, branch: trunk, size: 3544 [annotate] [blame] [check-ins using] [diff]
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: [c1a16c1dcc] check-in: [0f42b0eafd] user: js, branch: trunk, size: 3464 [annotate] [blame] [check-ins using] [diff]

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

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

2017-05-07
20:10
Small code style change

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

2017-01-09
17:36
Update copyright

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

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

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

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

2014-03-22
17:56
Generalize runtime/hashtable.m file: [c556b01892] check-in: [8d930f2067] user: js, branch: trunk, size: 3377 [annotate] [blame] [check-ins using] [diff]
2014-02-13
23:26
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. file: [915bbfe8d7] check-in: [2f5af58573] user: js, branch: trunk, size: 3333 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [e3b6fb662f] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 3310 [annotate] [blame] [check-ins using] [diff]
2013-12-19
20:15
runtime: New API for internal unregister methods. file: [95506f87f9] check-in: [b4231b1df9] user: js, branch: trunk, size: 3304 [annotate] [blame] [check-ins using] [diff]
2013-11-26
10:25
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. file: [743b892159] check-in: [0ede45ce93] user: js, branch: trunk, size: 3298 [annotate] [blame] [check-ins using] [diff]

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: [64e4076187] check-in: [c5ef582958] user: js, branch: trunk, size: 2873 [annotate] [blame] [check-ins using] [diff]

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

2012-07-09
21:10
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. file: [f1aef89fda] check-in: [e5b241b72d] user: js, branch: trunk, size: 2851 [annotate] [blame] [check-ins using] [diff]

2012-05-10
18:38
Sequential selectors to reduce fragmentation.

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

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