ObjFW  History of src/runtime/exception.m of 80e1a9655beab317

History of the file that is called src/runtime/exception.m at check-in 80e1a9655beab317

2024-04-24
22:39
[a631c06b73] part of check-in [8b0ab1157c] Simplify detection of exception type (check-in: [8b0ab1157c] user: js, branch: trunk, size: 19956) [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
[2f0f690e96] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 20087) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[1ae703b363] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 19879) [annotate] [blame] [check-ins using] [diff]
2023-08-05
09:04
[0555413ebe] part of check-in [14c70763b0] Remove hacks in headers for C compatibility

A better approach would probably be to have a separate header which
makes some classes available to pure C. (check-in: [14c70763b0] user: js, branch: trunk, size: 19879) [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
[aa18b3eafc] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 19880) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[ba2a43d17f] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 19880) [annotate] [blame] [check-ins using] [diff]
2021-05-02
14:28
[b58329f870] part of check-in [0c7760bd05] Don't use OFEnsure() in runtime (check-in: [0c7760bd05] user: js, branch: trunk, size: 19880) [annotate] [blame] [check-ins using] [diff]
11:34
[cb2a5e9390] part of check-in [2b75f9e6a0] runtime: Name things more consistently (check-in: [2b75f9e6a0] user: js, branch: trunk, size: 19865) [annotate] [blame] [check-ins using] [diff]
2021-04-18
20:51
[814fd82d64] part of check-in [35de667566] Rename everything in several smaller files (check-in: [35de667566] user: js, branch: new-naming-convention, size: 19948) [annotate] [blame] [check-ins using] [diff]
15:55
[f51c44ad27] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 19941) [annotate] [blame] [check-ins using] [diff]
2021-04-17
16:29
[1a9cebf1f3] part of check-in [fabf53041a] of_spinlock_t -> OFSpinlock (check-in: [fabf53041a] user: js, branch: new-naming-convention, size: 19938) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:06
[1594604bc1] part of check-in [27b401c7c2] Update copyright (check-in: [27b401c7c2] user: js, branch: amiga-library, size: 19801) [annotate] [blame] [check-ins using] [diff]
22:04
[5b9f454f5d] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 19951) [annotate] [blame] [check-ins using] [diff]
2021-01-01
21:43
[02f7c2294e] part of check-in [029db9e275] runtime/exception.m: Implement DW_EH_PE_aligned (check-in: [029db9e275] user: js, branch: trunk, size: 20040) [annotate] [blame] [check-ins using] [diff]
2020-12-20
21:26
[50eac6751c] part of check-in [5b37fbeb82] Return error instead of using errno for threading

errno is problematic for Amiga libraries and is also not thread-safe on
some systems, even though it should. (check-in: [5b37fbeb82] user: js, branch: trunk, size: 19890) [annotate] [blame] [check-ins using] [diff]

03:06
[3255d28641] part of check-in [8f271bed22] Let OF_ENSURE use OBJC_ERROR in runtime (check-in: [8f271bed22] user: js, branch: trunk, size: 19870) [annotate] [blame] [check-ins using] [diff]
2020-06-21
15:57
[ff0a7a161b] part of check-in [0d383aeb8a] Ignore return value from _Unwind_RaiseException()

It seems to be garbage on some platforms and both libsupc++ and libobjc
don't check its return value either. (check-in: [0d383aeb8a] user: js, branch: trunk, size: 19855) [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
[61beb93dab] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 19881) [annotate] [blame] [check-ins using] [diff]
2019-09-01
15:20
[a59476cee6] part of check-in [b7badc68a0] Use u suffix on a few constants (check-in: [b7badc68a0] user: js, branch: trunk, size: 19878) [annotate] [blame] [check-ins using] [diff]
2019-08-01
20:14
[00f195dbf4] part of check-in [5358e9ea6a] Split threading.[hm] into multiple files

This allows the runtime to only link against the parts it needs, without
pulling in unnecessary parts like thread spawning, TLS and conditions. (check-in: [5358e9ea6a] user: js, branch: trunk, size: 19860) [annotate] [blame] [check-ins using] [diff]

2019-06-17
00:38
[fae3aff94d] 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: 19864) [annotate] [blame] [check-ins using] [diff]

2019-04-21
17:26
[ef7a9d3c88] part of check-in [f0c9c3a9f7] runtime: Fix missing _t suffix in types (check-in: [f0c9c3a9f7] user: js, branch: trunk, size: 19865) [annotate] [blame] [check-ins using] [diff]
2019-02-07
21:31
[9119c3ea09] part of check-in [754bf24742] More style improvements (check-in: [754bf24742] user: js, branch: trunk, size: 19857) [annotate] [blame] [check-ins using] [diff]
00:46
[3d1d7d2d6b] 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: 19857) [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
[eb9e1d7c01] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 19958) [annotate] [blame] [check-ins using] [diff]
2018-06-03
23:31
[a80746f2fd] part of check-in [aacb5897a0] Add -[OFObject allocZeroedMemoryWithSize:(count:)] (check-in: [aacb5897a0] user: js, branch: trunk, size: 19952) [annotate] [blame] [check-ins using] [diff]
2018-05-13
02:09
[690202f93c] part of check-in [95e1ba8d63] runtime: Port Amiga library to MorphOS (check-in: [95e1ba8d63] user: js, branch: trunk, size: 19976) [annotate] [blame] [check-ins using] [diff]
2018-05-06
21:39
[2ef4db4bbd] 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: 20010) [annotate] [blame] [check-ins using] [diff]

2018-05-05
15:57
[537d308f3a] part of check-in [1cae2c720c] runtime: Make exceptions work in Amiga library (check-in: [1cae2c720c] user: js, branch: trunk, size: 20001) [annotate] [blame] [check-ins using] [diff]
2018-04-29
20:27
[d4191ceef9] part of check-in [4c72b5544f] runtime: Add glue functions for Amiga library (check-in: [4c72b5544f] user: js, branch: trunk, size: 19996) [annotate] [blame] [check-ins using] [diff]
19:26
[f8288a7f27] part of check-in [2d8aa8b1e6] runtime: Specify m68k registers for most functions (check-in: [2d8aa8b1e6] user: js, branch: trunk, size: 19960) [annotate] [blame] [check-ins using] [diff]
2018-04-08
19:32
[5d641d7c4e] part of check-in [681e1a13f3] exception.m: Handle read of unaligned values (check-in: [681e1a13f3] user: js, branch: trunk, size: 19935) [annotate] [blame] [check-ins using] [diff]
18:18
[dc5760d5ce] part of check-in [879e69dd3d] Make usage of several _Unwind_* functions optional

This removes the special casing for Itanium and makes compilation on
OpenBSD/SPARC64 work with clang. (check-in: [879e69dd3d] user: js, branch: trunk, size: 19891) [annotate] [blame] [check-ins using] [diff]

2018-01-21
22:16
[2f76cd89bc] 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: 19781) [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
[2831c7587e] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 19781) [annotate] [blame] [check-ins using] [diff]
2017-09-06
00:49
[ba1f5e6f08] part of check-in [60ce701c5c] Don't use _Unwind_Get{Data,Text}RelBase on IA64

DW_EH_PE_datarel can be handled via _Unwind_GetGR on GR 1, while
DW_EH_PE_textrel cannot be handled at all. (check-in: [60ce701c5c] user: js, branch: trunk, size: 19758) [annotate] [blame] [check-ins using] [diff]

2017-07-09
15:29
[11649a75a7] part of check-in [5bb771755d] runtime: Rename include to ObjFW-RT.h (check-in: [5bb771755d] user: js, branch: trunk, size: 19575) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[9516bed461] 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: 19582) [annotate] [blame] [check-ins using] [diff]

2017-04-15
00:08
[bff9221b2d] part of check-in [ca2f806df3] runtime/exception.m: Move #include <windows.h> (check-in: [ca2f806df3] user: js, branch: trunk, size: 19536) [annotate] [blame] [check-ins using] [diff]
2017-04-14
02:16
[80255e6a7d] part of check-in [13c2017326] runtime: Add support for emergency exceptions (check-in: [13c2017326] user: js, branch: trunk, size: 19536) [annotate] [blame] [check-ins using] [diff]
2017-04-02
12:13
[ae672d1e54] part of check-in [643985e07a] Use OF_PATH_CURRENT_DIRECTORY instead of @"." (check-in: [643985e07a] user: js, branch: trunk, size: 18202) [annotate] [blame] [check-ins using] [diff]
02:02
[4a94088d13] part of check-in [126632e200] Add OF_WEAK_REF() (check-in: [126632e200] user: js, branch: trunk, size: 18209) [annotate] [blame] [check-ins using] [diff]
01:06
[b2da8e6383] part of check-in [d07c56a8bb] Add OF_CONSTRUCTOR() / OF_DESTRUCTOR() (check-in: [d07c56a8bb] user: js, branch: trunk, size: 18192) [annotate] [blame] [check-ins using] [diff]
2017-03-26
14:02
[e1815049b3] part of check-in [26d0e98438] Call the right C++ personality for SEH exceptions (check-in: [26d0e98438] user: js, branch: trunk, size: 18247) [annotate] [blame] [check-ins using] [diff]
2017-02-26
11:36
[120b0cc0b1] part of check-in [199985a18a] runtime/exception.m: Fix a typo (check-in: [199985a18a] user: js, branch: trunk, size: 17320) [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
[59e66d5415] 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: 17321) [annotate] [blame] [check-ins using] [diff]

2016-07-30
17:09
[a28b850e42] part of check-in [3c71107e06] runtime/exception.m: Small fix for SjLj and SEH (check-in: [3c71107e06] user: js, branch: trunk, size: 17315) [annotate] [blame] [check-ins using] [diff]
2016-07-18
19:57
[be0c13750d] part of check-in [691ce6ea29] runtime/exception.m: Minor style fix (check-in: [691ce6ea29] user: js, branch: trunk, size: 17322) [annotate] [blame] [check-ins using] [diff]
18:45
[438f4d8af0] part of check-in [974d386554] runtime/exception.m: Forward foreign exceptions

This allows handling C++ exceptions. (check-in: [974d386554] user: js, branch: trunk, size: 17318) [annotate] [blame] [check-ins using] [diff]

2016-07-10
16:23
[30cec995ef] part of check-in [85a52c4717] runtime/exception.m: abort() -> OBJC_ERROR()

Use OBJC_ERROR() to print an error message instead of silently aborting. (check-in: [85a52c4717] user: js, branch: trunk, size: 16342) [annotate] [blame] [check-ins using] [diff]

2016-06-08
23:22
[9ee77747e2] part of check-in [b919654740] exception.m: More consistency in #ifdef order

No functional change. (check-in: [b919654740] user: js, branch: trunk, size: 16040) [annotate] [blame] [check-ins using] [diff]

23:05
[190697da2f] part of check-in [d55f62409f] Don't use ARM EHABI if __ARM_DWARF_EH__ is defined (check-in: [d55f62409f] user: js, branch: trunk, size: 16039) [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
[e01b920560] part of check-in [cec0f072f8] Update copyright

While at it, also update the mail address. (check-in: [cec0f072f8] user: js, branch: 0.8, size: 15988) [annotate] [blame] [check-ins using] [diff]

00:41
[f01e2fc526] part of check-in [2a27cf3000] Update copyright

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

2015-10-19
22:15
[ad69f70527] part of check-in [1ba08eebc5] Add platform.h & make platform defines consistent (check-in: [1ba08eebc5] user: js, branch: trunk, size: 15784) [annotate] [blame] [check-ins using] [diff]
2015-04-11
11:01
[8d38efa5a1] part of check-in [ff17b98ab2] OFOpenFileFailedException: Rename File -> Item (check-in: [ff17b98ab2] user: js, branch: trunk, size: 15984) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[0af3e68650] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 15984) [annotate] [blame] [check-ins using] [diff]
2014-04-27
19:34
[31b6c4d655] part of check-in [cd0a632472] Initial Nintendo DS port (check-in: [cd0a632472] user: js, branch: trunk, size: 15978) [annotate] [blame] [check-ins using] [diff]
2014-04-14
00:45
[bf6c15d416] part of check-in [9da9b2b64c] Coding style

No functional change intended. (check-in: [9da9b2b64c] user: js, branch: trunk, size: 15923) [annotate] [blame] [check-ins using] [diff]

2014-02-20
22:29
[c587b3ed95] part of check-in [65a0124f8d] Don't use __builtin_eh_return_data_regno for SjLj

This also gets rid of RAISE_EXCEPTION and instead defines
_Unwind_RaiseException to _Unwind_SjLj_RaiseException for SjLj.

Additionally, it moves the defines to the top of the file. (check-in: [65a0124f8d] user: js, branch: trunk, size: 15918) [annotate] [blame] [check-ins using] [diff]

2014-02-12
15:36
[02a3674deb] part of check-in [d7883de826] Add support for SEH exceptions

Does not work yet due to a GCC bug. I already found the bug and also
have a fix for it, but it needs to get upstreamed. (check-in: [d7883de826] user: js, branch: trunk, size: 16083) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[85159653ef] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 15257) [annotate] [blame] [check-ins using] [diff]
2013-12-14
11:14
[d295243776] part of check-in [a655ba9020] exception.m: Fix wrong type in _Unwind_Exception.

This caused the landingpad to be 0 on MIPS/N32. (check-in: [a655ba9020] user: js, branch: trunk, size: 15251) [annotate] [blame] [check-ins using] [diff]

2013-11-22
23:23
[9e3f15e824] part of check-in [9b9b00c5d9] exception.m: Handle class name @id. (check-in: [9b9b00c5d9] user: js, branch: trunk, size: 15252) [annotate] [blame] [check-ins using] [diff]
2013-09-29
16:26
[8bf5e39212] part of check-in [6dcd43ed6c] Remove an _Unwind_DeleteException call.

It seems that this call is fine with Clang, but crashes with GCC.
Removing this call does not seem to introduce a leak (verified with
valgrind). (check-in: [6dcd43ed6c] user: js, branch: trunk, size: 15217) [annotate] [blame] [check-ins using] [diff]

2013-08-03
13:38
[2dc53da018] part of check-in [24aac72caa] exception.m: A few minor style improvements. (check-in: [24aac72caa] user: js, branch: trunk, size: 15249) [annotate] [blame] [check-ins using] [diff]
2013-07-15
21:04
[411c032d6c] part of check-in [51beeb9808] exception.m: Fix wrong type size. (check-in: [51beeb9808] user: js, branch: trunk, size: 15196) [annotate] [blame] [check-ins using] [diff]
2013-04-09
18:08
[337aac59db] part of check-in [5eb22639e4] Add support for SjLj exceptions. (check-in: [5eb22639e4] user: js, branch: trunk, size: 15195) [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
[33f7be3a9f] 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: 14384) [annotate] [blame] [check-ins using] [diff]

2013-01-13
16:10
[375c6e97c6] part of check-in [ebaf70c292] exception.m: Handle empty class names.

m68k seems to use an empty class name instead of NULL. (check-in: [ebaf70c292] user: js, branch: trunk, size: 14372) [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
[d79be2163d] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 14286) [annotate] [blame] [check-ins using] [diff]
2012-11-30
16:09
[d52bb65783] part of check-in [120caad331] Make runtime API more similar to Apple's.

This makes it easier to use runtime functions in portable code. (check-in: [120caad331] user: js, branch: trunk, size: 14280) [annotate] [blame] [check-ins using] [diff]

2012-09-06
19:13
[e345b72019] part of check-in [5216366469] Fix a forgotten rename. (check-in: [5216366469] user: js, branch: trunk, size: 14249) [annotate] [blame] [check-ins using] [diff]
19:13
[ef3f114f24] part of check-in [aecc08c367] A few small exception fixes.

This partly reverts 93dad6d, as it did fix ARC + -fobjc-arc-exceptions
with Clang, but broke exceptions in general with GCC. (check-in: [aecc08c367] user: js, branch: trunk, size: 14250) [annotate] [blame] [check-ins using] [diff]

2012-08-20
00:20
[738962e0b5] part of check-in [b2deb6c291] exception.m: Fix cleanup. (check-in: [b2deb6c291] user: js, branch: trunk, size: 14305) [annotate] [blame] [check-ins using] [diff]
2012-07-20
17:15
[757d54b209] part of check-in [d02c5ae007] Sign binaries before uploading to iOS device. (check-in: [d02c5ae007] user: js, branch: trunk, size: 14308) [annotate] [blame] [check-ins using] [diff]
2012-07-19
01:45
[cd4964c00b] part of check-in [e47640dd96] Add exception handling for ARM. (check-in: [e47640dd96] user: js, branch: trunk, size: 14301) [annotate] [blame] [check-ins using] [diff]
2012-07-12
01:28
[93064c290f] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 11343) [annotate] [blame] [check-ins using] [diff]
2012-07-11
08:30
[9f84282618] part of check-in [cc68082389] exception.m: Fix a missing free. (check-in: [cc68082389] user: js, branch: trunk, size: 11326) [annotate] [blame] [check-ins using] [diff]
2012-07-07
11:29
[467b03e18b] part of check-in [ce6282e019] Fix exceptions on 32 bit systems.

There still seems to be an issue with Clang on 32 bit systems, but it
works with GCC now. (check-in: [ce6282e019] user: js, branch: trunk, size: 11377) [annotate] [blame] [check-ins using] [diff]

2012-07-04
11:43
[775286f90c] part of check-in [0c06c94bac] exception.m: Clean up a little. (check-in: [0c06c94bac] user: js, branch: trunk, size: 11265) [annotate] [blame] [check-ins using] [diff]
2012-07-03
15:44
Added: [c1024e0f89] part of check-in [a230197b48] runtime: Add exception handling. (check-in: [a230197b48] user: js, branch: runtime, size: 11375) [annotate] [blame] [check-ins using]