ObjFW  History of src/runtime/private.h of 5d6b38e9ce48f324

History of file src/runtime/private.h at check-in 5d6b38e9ce48f324

2024-08-30
18:58
Add ARM64/Win64 assembly lookup implementation file: [a04a7cf235] check-in: [995af4a904] user: js, branch: trunk, size: 10404 [annotate] [blame] [check-ins using] [diff]
2024-07-27
16:16
LoongArch 64/ELF assembly lookup implementation file: [cceb11309c] check-in: [6099526435] user: js, branch: trunk, size: 10383 [annotate] [blame] [check-ins using] [diff]
2024-07-21
12:18
Fix ObjC++ with GCC file: [a33760f62e] check-in: [60c6616ea4] user: js, branch: 1.1, size: 10327 [annotate] [blame] [check-ins using] [diff]
12:17
Fix ObjC++ with GCC file: [318b5fdb1e] check-in: [cee78b6630] user: js, branch: trunk, size: 10356 [annotate] [blame] [check-ins using] [diff]
2024-06-23
22:05
runtime: Properly hide symbols file: [a8d645978e] check-in: [0309533ff6] user: js, branch: 1.1, size: 10326 [annotate] [blame] [check-ins using] [diff]
22:04
runtime: Properly hide symbols file: [5dd68be0f7] check-in: [a38d711e37] user: js, branch: trunk, size: 10355 [annotate] [blame] [check-ins using] [diff]
2024-05-24
21:17
Add RISC-V 64/ELF assembly lookup implementation file: [001133848f] check-in: [bcff3f8c7a] user: js, branch: trunk, size: 9502 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [3b94bd139a] check-in: [7413a728a7] user: js, branch: trunk, size: 9473 [annotate] [blame] [check-ins using] [diff]
2024-02-03
11:41
Update copyright file: [944ebf2bfe] check-in: [7324ec8590] user: js, branch: 1.0, size: 9185 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [e0e05e3c60] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 9265 [annotate] [blame] [check-ins using] [diff]
2023-08-30
11:45
Merge trunk into branch "amiga-library" file: [3089bd92ac] check-in: [5ea06b70ce] user: js, branch: amiga-library, size: 11688 [annotate] [blame] [check-ins using] [diff]
2023-08-28
15:44
Merge trunk into 1.0 branch file: [ee8834320d] check-in: [c20b5c87ef] user: js, branch: 1.0, size: 9185 [annotate] [blame] [check-ins using] [diff]
2023-08-25
23:32
Fix nullability issues found by clang-analyzer file: [af11dd9f17] check-in: [d93bcda0b2] user: js, branch: trunk, size: 9265 [annotate] [blame] [check-ins using] [diff]
2023-07-20
20:02
Merge trunk into 1.0 branch file: [a1a668b34b] check-in: [124fe8b500] user: js, branch: 1.0, size: 9184 [annotate] [blame] [check-ins using] [diff]
2023-07-15
21:20
Remove Amiga .library support

This will be moved to the "amiga-library" branch entirely in order to
not block the 1.0 release, as this is still far from finished. file: [7ee10f418d] check-in: [f0b0aacf36] user: js, branch: trunk, size: 9264 [annotate] [blame] [check-ins using] [diff]

20:57
Merge trunk into branch "amiga-library" file: [309bc9f429] check-in: [860b0bf1e9] user: js, branch: amiga-library, size: 11687 [annotate] [blame] [check-ins using] [diff]
2023-04-22
20:22
Rename x86_64 to AMD64

It's just a less awkward name and also what the BSDs use. file: [9ac7fac548] check-in: [b7a4e61b88] user: js, branch: trunk, size: 11687 [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
Update copyright file: [98d483fe2d] check-in: [8939cbdb52] user: js, branch: trunk, size: 11690 [annotate] [blame] [check-ins using] [diff]
2022-11-17
17:15
More consistency between the two amiga-library.m file: [41cb53cb64] check-in: [0846f898ea] user: js, branch: amiga-library, size: 11690 [annotate] [blame] [check-ins using] [diff]
2022-10-19
20:03
OFOnce: Add OF_ASSUME_NONNULL_* file: [aebd8619bf] check-in: [08c3161bde] user: js, branch: trunk, size: 11690 [annotate] [blame] [check-ins using] [diff]
2022-04-19
16:17
Merge trunk into 1.0 branch file: [52dc158c2a] check-in: [fe760fdbbb] user: js, branch: 1.0, size: 11630 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [4e60c9110b] check-in: [1a86b8175b] user: js, branch: trunk, size: 11711 [annotate] [blame] [check-ins using] [diff]
2021-09-02
18:52
Merge trunk into 1.0 branch file: [9b5851c0b6] check-in: [fb7b9709b8] user: js, branch: 1.0, size: 11712 [annotate] [blame] [check-ins using] [diff]
17:49
runtime: Don't use asm for PowerPC64 ELF v2 ABI file: [fc9de45cb0] check-in: [98b8a4cc1d] user: js, branch: trunk, size: 11793 [annotate] [blame] [check-ins using] [diff]
2021-05-24
22:27
runtime: Add lookup-asm-powerpc64-elf.S file: [c4765bd18c] check-in: [05d65abf96] user: js, branch: trunk, size: 11711 [annotate] [blame] [check-ins using] [diff]
2021-05-02
11:34
runtime: Name things more consistently file: [133858e63f] check-in: [2b75f9e6a0] user: js, branch: trunk, size: 11680 [annotate] [blame] [check-ins using] [diff]
2021-04-25
20:01
Merge trunk into 1.0 branch file: [d3cd5c0dc0] check-in: [b9744f93bf] user: js, branch: 1.0, size: 11636 [annotate] [blame] [check-ins using] [diff]
19:41
OFStrdup -> OFStrDup and slightly change behavior file: [13fad70e4b] check-in: [fd51df7022] user: js, branch: trunk, size: 11717 [annotate] [blame] [check-ins using] [diff]
2021-03-30
21:23
Merge trunk into 1.0 branch file: [ba7c7005f3] check-in: [564d6d6b6f] user: js, branch: 1.0, size: 11571 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [0007b0cada] check-in: [374e1a1bfa] user: js, branch: trunk, size: 11652 [annotate] [blame] [check-ins using] [diff]
2020-12-29
22:37
Add generator for amiga-glue.m file: [c494a9268d] check-in: [61c7afc085] user: js, branch: trunk, size: 11741 [annotate] [blame] [check-ins using] [diff]
2020-12-22
21:42
Merge trunk into branch "amiga-library" file: [b27511eb2a] check-in: [a58aa8e069] user: js, branch: amiga-library, size: 9297 [annotate] [blame] [check-ins using] [diff]
20:19
Merge trunk into 1.0 branch file: [db00c9b1c3] check-in: [62edb405b9] user: js, branch: 1.0, size: 11287 [annotate] [blame] [check-ins using] [diff]
2020-12-21
19:42
Make objc_error() more generic file: [a61212a55a] check-in: [abe75c42dc] user: js, branch: trunk, size: 11368 [annotate] [blame] [check-ins using] [diff]
00:25
runtime: Don't pass std{out,err} to Amiga .library file: [ddffadab35] check-in: [08d155e3f0] user: js, branch: trunk, size: 11340 [annotate] [blame] [check-ins using] [diff]
2020-12-20
21:36
Merge trunk into branch "amiga-library" file: [cd3ba36b2b] check-in: [90637a4ecc] user: js, branch: amiga-library, size: 9269 [annotate] [blame] [check-ins using] [diff]
21:29
runtime: Remove errno from Amiga library

There is nothing left that needs errno. file: [67e48517bd] check-in: [8c90e88939] user: js, branch: trunk, size: 11418 [annotate] [blame] [check-ins using] [diff]

15:07
runtime: Fix missing _Nonnull file: [dfdcb65a2c] check-in: [d70b6cca02] user: js, branch: trunk, size: 11554 [annotate] [blame] [check-ins using] [diff]
11:30
Merge trunk into branch "amiga-library" file: [91ae810d9d] check-in: [1ff8c1e62d] user: js, branch: amiga-library, size: 9387 [annotate] [blame] [check-ins using] [diff]
03:32
runtime: Use exit(1) instead of abort() on AmigaOS

This prevents leaking resources like open files. file: [62a0f3f2e0] check-in: [169832c303] user: js, branch: trunk, size: 11536 [annotate] [blame] [check-ins using] [diff]

03:06
Let OF_ENSURE use OBJC_ERROR in runtime file: [85a2ea1403] check-in: [8f271bed22] user: js, branch: trunk, size: 11489 [annotate] [blame] [check-ins using] [diff]
02:48
runtime: Show fatal errors as requester on AmigaOS file: [01662866bf] check-in: [f2fdb37bec] user: js, branch: trunk, size: 11605 [annotate] [blame] [check-ins using] [diff]
2020-12-12
21:08
Merge trunk into branch "amiga-library" file: [90f4d071ef] check-in: [637ca0be9f] user: js, branch: amiga-library, size: 9453 [annotate] [blame] [check-ins using] [diff]
2020-11-29
04:38
Merge trunk into 1.0 branch file: [21af80272e] check-in: [db2ba76342] user: js, branch: 1.0, size: 11433 [annotate] [blame] [check-ins using] [diff]
2020-11-26
01:44
runtime: Register frames of Amiga lib on MorphOS file: [049226b1f0] check-in: [bc1275562e] user: js, branch: trunk, size: 11514 [annotate] [blame] [check-ins using] [diff]
2020-11-22
15:34
runtime: Pass errno to Amiga library file: [e53897510c] check-in: [7b030dc66c] user: js, branch: trunk, size: 11349 [annotate] [blame] [check-ins using] [diff]
2020-10-04
15:17
Remove lookup-asm-x86_64-macho.S

This is unused now that only the Apple runtime can be used on macOS. file: [8bfde7861e] check-in: [5672243f7f] user: js, branch: 1.0, size: 11114 [annotate] [blame] [check-ins using] [diff]

15:00
Merge trunk into branch "amiga-library" file: [c83cd873a0] check-in: [92335940e9] user: js, branch: amiga-library, size: 9317 [annotate] [blame] [check-ins using] [diff]
2020-09-29
22:21
runtime: Make object_isTaggedPointer() a function

If it is an inline, changing how tagged pointers work internally would
break the ABI and require recompiling everything, making future changes
harder. file: [7f0c22271c] check-in: [2fee820b5d] user: js, branch: trunk, size: 11195 [annotate] [blame] [check-ins using] [diff]

21:31
runtime: Remove lookup-asm-powerpc-macho.S

The newest compilers for macOS/PowerPC, Apple GCC 4.0.1 and Apple GCC
4.2.1, both fail to compile any code that contains fast enumeration when
using -fgnu-runtime (both crash with a bus error). This means that using
the ObjFW runtime on macOS/PowerPC is no longer possible since ObjFW
started requiring ObjC 2.

macOS/PowerPC with the Apple runtime is still fully supported. file: [44543549b6] check-in: [3580326d70] user: js, branch: trunk, size: 11129 [annotate] [blame] [check-ins using] [diff]

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: [e3fff27493] check-in: [8707dd73c4] user: js, branch: tagged-pointers, size: 11282 [annotate] [blame] [check-ins using] [diff]

2020-06-07
21:32
Clean up a little file: [8abb93e565] check-in: [fa90c6cb2c] user: js, branch: amiga-library, size: 9274 [annotate] [blame] [check-ins using] [diff]
16:53
Add __(de)register_frame_info to amiga-library.m

This way the runtime's linklib will use the ones passed to the ObjFW
.library. file: [6a201be4b3] check-in: [45a8b2333d] user: js, branch: amiga-library, size: 11184 [annotate] [blame] [check-ins using] [diff]

16:34
Pass __sF around instead of std* individually

This avoids needing to #undef std{in,out,err} and then providing a new
symbol. file: [5d82a9b9bc] check-in: [514944f1ea] user: js, branch: amiga-library, size: 11131 [annotate] [blame] [check-ins using] [diff]

2020-06-05
00:29
Add missing nullability specifiers file: [a7c4eb8f4b] check-in: [547abb97a0] user: js, branch: amiga-library, size: 11191 [annotate] [blame] [check-ins using] [diff]
00:17
Add of_init() for Amiga .library file: [af37708bbd] check-in: [964b5ed33c] user: js, branch: amiga-library, size: 11175 [annotate] [blame] [check-ins using] [diff]
2020-01-25
20:04
tlskey.m: Use hashtable from runtime on AmigaOS

tlskey.m used OFMapTable only on AmigaOS. This became a problem when
autorelease pools were moved into the runtime, as autorelease pools use
TLS. The build then broke, as there suddenly was a dependency from the
runtime on ObjFW.

This now uses the hashtable from the runtime and also no longer uses
OFList, thus fixing the build. As we always use the runtime on AmigaOS
anyway, this is fine. file: [82de8c2339] check-in: [49aee5736e] user: js, branch: trunk, size: 11152 [annotate] [blame] [check-ins using] [diff]

2020-01-02
22:16
Move autorelease pools to runtime file: [a228e75679] check-in: [f2fe8f96d5] user: js, branch: trunk, size: 11089 [annotate] [blame] [check-ins using] [diff]
01:51
Update copyright file: [feea25df7d] check-in: [c7f0229795] user: js, branch: trunk, size: 10888 [annotate] [blame] [check-ins using] [diff]
01:35
Move objc_{con,de}structInstance to runtime file: [793195e825] check-in: [7f1acf9221] user: js, branch: trunk, size: 10885 [annotate] [blame] [check-ins using] [diff]
2019-12-12
01:14
runtime: Make classes and protocols opaque file: [4747c0153c] check-in: [faaf8ded07] user: js, branch: trunk, size: 10833 [annotate] [blame] [check-ins using] [diff]
01:04
runtime: Make properties opaque and provide an API file: [a5bc0aa2aa] check-in: [44f5a7d029] user: js, branch: trunk, size: 9293 [annotate] [blame] [check-ins using] [diff]
2019-12-08
21:51
runtime: Make methods opaque and provide an API file: [81f62cf3b8] check-in: [f310bcc3ff] user: js, branch: trunk, size: 8403 [annotate] [blame] [check-ins using] [diff]
2019-11-24
22:23
runtime: Remove duplicate structs for ABI file: [dd3eb1cd1b] check-in: [c6d2de4312] user: js, branch: trunk, size: 7817 [annotate] [blame] [check-ins using] [diff]
15:22
runtime: Make ivars opaque and provide an API file: [182926c01c] check-in: [688eef7561] user: js, branch: trunk, size: 8957 [annotate] [blame] [check-ins using] [diff]
2019-08-04
20:03
Amiga library: Provide an empty __init_eh()

amiga-gcc now links in __init_eh(). However, since we init EH ourselves,
there's no need for it, so we replace it with an empty one. file: [62b52db4cc] check-in: [7342a6e98b] user: js, branch: trunk, size: 8771 [annotate] [blame] [check-ins using] [diff]

2019-07-27
16:56
Make objc_method_description(_list) public file: [a95504bf3a] check-in: [d58ef51fc0] user: js, branch: trunk, size: 8770 [annotate] [blame] [check-ins using] [diff]
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: [88abdbc6a0] check-in: [ede088a30d] user: js, branch: trunk, size: 8978 [annotate] [blame] [check-ins using] [diff]

2019-02-07
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: [69f97ea107] check-in: [ef6d69931e] user: js, branch: trunk, size: 8798 [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
Update copyright file: [a8dbb85724] check-in: [0509d7a844] user: js, branch: trunk, size: 8765 [annotate] [blame] [check-ins using] [diff]
2018-06-03
23:08
runtime/linklib: Do not pass exit() to Amiga lib

The only reason the runtime should ever terminate the process is because
a fatal error occurred, and for that it should use abort(). file: [9809c03572] check-in: [a37a78d51b] user: js, branch: trunk, size: 8759 [annotate] [blame] [check-ins using] [diff]

2018-05-20
10:25
runtime: Add missing nullability annotations file: [417682c35b] check-in: [392fdaedc4] user: js, branch: trunk, size: 8788 [annotate] [blame] [check-ins using] [diff]
2018-05-13
02:09
runtime: Port Amiga library to MorphOS file: [e6d7352de2] check-in: [95e1ba8d63] user: js, branch: trunk, size: 8464 [annotate] [blame] [check-ins using] [diff]
2018-05-11
19:42
runtime: Let objc_init() take a version number file: [948a1c76b2] check-in: [c5c95f9fe2] user: js, branch: trunk, size: 12459 [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: [5f7c093a7a] check-in: [482698c5be] user: js, branch: trunk, size: 12445 [annotate] [blame] [check-ins using] [diff]

18:42
runtime: Add ARC methods to headers and Amiga lib file: [b79f584910] check-in: [3ed710dc03] user: js, branch: trunk, size: 12395 [annotate] [blame] [check-ins using] [diff]
2018-05-05
18:20
runtime: Re-add declarations for 2 glue functions

They are still required for the function table in amiga-library.m. file: [86b6d19cbd] check-in: [86863a8845] user: js, branch: trunk, size: 10693 [annotate] [blame] [check-ins using] [diff]

18:06
runtime: Let objc_get*Class return Class file: [1ad0dd9f90] check-in: [b3f32186dd] user: js, branch: trunk, size: 10533 [annotate] [blame] [check-ins using] [diff]
17:46
runtime: Work around compiler bug in Amiga library

This adds the same workaround for objc_enumerationMutation() as for
objc_exception_throw(). file: [457aeb2c70] check-in: [dff419362e] user: js, branch: trunk, size: 10524 [annotate] [blame] [check-ins using] [diff]

15:57
runtime: Make exceptions work in Amiga library file: [d94124ff8f] check-in: [1cae2c720c] user: js, branch: trunk, size: 10684 [annotate] [blame] [check-ins using] [diff]
2018-05-01
15:10
runtime: Add a linklib for the Amiga library file: [2cf61640d4] check-in: [f840649052] user: js, branch: trunk, size: 9775 [annotate] [blame] [check-ins using] [diff]
2018-04-30
11:20
runtime: Generate and install Amiga inline header file: [9b8ebef4c7] check-in: [ec343c7ae6] user: js, branch: trunk, size: 9488 [annotate] [blame] [check-ins using] [diff]
10:15
runtime: Have the Amiga glue the other way around file: [34219e64f0] check-in: [dec9500ab6] user: js, branch: trunk, size: 9478 [annotate] [blame] [check-ins using] [diff]
2018-04-29
20:27
runtime: Add glue functions for Amiga library file: [51fe416316] check-in: [4c72b5544f] user: js, branch: trunk, size: 7520 [annotate] [blame] [check-ins using] [diff]
19:26
runtime: Specify m68k registers for most functions file: [3320990765] check-in: [2d8aa8b1e6] user: js, branch: trunk, size: 7292 [annotate] [blame] [check-ins using] [diff]
18:23
runtime: Rewrite amiga-library.m for AmigaOS 3 file: [376e4a974e] check-in: [d7870d7c1b] user: js, branch: trunk, size: 7290 [annotate] [blame] [check-ins using] [diff]
2018-04-22
17:48
Make ObjFW compile for AmigaOS 3 file: [32f9dbeb3a] check-in: [0b07c8fcfa] user: js, branch: trunk, size: 6876 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [fd3f5c5f59] check-in: [7e5c81e186] user: js, branch: trunk, size: 6834 [annotate] [blame] [check-ins using] [diff]
2017-08-20
10:12
runtime: Remove remains of OBJC_{NONNULL,NULLABLE} file: [a8b96cc3b5] check-in: [5be33bace7] user: js, branch: trunk, size: 6811 [annotate] [blame] [check-ins using] [diff]
2017-07-09
15:29
Added: runtime: Rename include to ObjFW-RT.h file: [69fcb5506f] check-in: [5bb771755d] user: js, branch: trunk, size: 7249 [annotate] [blame] [check-ins using]