ObjFW  History of src/runtime/exception.m of 2872ce314df72bcb

History of file src/runtime/exception.m at check-in 2872ce314df72bcb

2024-04-24
22:39
Simplify detection of exception type file: [a631c06b73] check-in: [8b0ab1157c] user: js, branch: trunk, size: 19956 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [2f0f690e96] check-in: [7413a728a7] user: js, branch: trunk, size: 20087 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [1ae703b363] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 19879 [annotate] [blame] [check-ins using] [diff]
2023-08-05
09:04
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. file: [0555413ebe] check-in: [14c70763b0] user: js, branch: trunk, size: 19879 [annotate] [blame] [check-ins using] [diff]

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

03:06
Let OF_ENSURE use OBJC_ERROR in runtime file: [3255d28641] check-in: [8f271bed22] user: js, branch: trunk, size: 19870 [annotate] [blame] [check-ins using] [diff]
2020-06-21
15:57
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. file: [ff0a7a161b] check-in: [0d383aeb8a] user: js, branch: trunk, size: 19855 [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
Update copyright file: [61beb93dab] check-in: [c7f0229795] user: js, branch: trunk, size: 19881 [annotate] [blame] [check-ins using] [diff]
2019-09-01
15:20
Use u suffix on a few constants file: [a59476cee6] check-in: [b7badc68a0] user: js, branch: trunk, size: 19878 [annotate] [blame] [check-ins using] [diff]
2019-08-01
20:14
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. file: [00f195dbf4] check-in: [5358e9ea6a] user: js, branch: trunk, size: 19860 [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: [fae3aff94d] check-in: [79fe29dbf4] user: js, branch: trunk, size: 19864 [annotate] [blame] [check-ins using] [diff]

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

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

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

This removes the special casing for Itanium and makes compilation on
OpenBSD/SPARC64 work with clang. file: [dc5760d5ce] check-in: [879e69dd3d] user: js, branch: trunk, size: 19891 [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: [2f76cd89bc] check-in: [0f42b0eafd] user: js, branch: trunk, size: 19781 [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
Update copyright notice file: [2831c7587e] check-in: [7e5c81e186] user: js, branch: trunk, size: 19781 [annotate] [blame] [check-ins using] [diff]
2017-09-06
00:49
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. file: [ba1f5e6f08] check-in: [60ce701c5c] user: js, branch: trunk, size: 19758 [annotate] [blame] [check-ins using] [diff]

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

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

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

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

2016-07-10
16:23
runtime/exception.m: abort() -> OBJC_ERROR()

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

2016-06-08
23:22
exception.m: More consistency in #ifdef order

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

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

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

00:41
Update copyright

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

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

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

2014-02-20
22:29
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. file: [c587b3ed95] check-in: [65a0124f8d] user: js, branch: trunk, size: 15918 [annotate] [blame] [check-ins using] [diff]

2014-02-12
15:36
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. file: [02a3674deb] check-in: [d7883de826] user: js, branch: trunk, size: 16083 [annotate] [blame] [check-ins using] [diff]

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

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

2013-11-22
23:23
exception.m: Handle class name @id. file: [9e3f15e824] check-in: [9b9b00c5d9] user: js, branch: trunk, size: 15252 [annotate] [blame] [check-ins using] [diff]
2013-09-29
16:26
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). file: [8bf5e39212] check-in: [6dcd43ed6c] user: js, branch: trunk, size: 15217 [annotate] [blame] [check-ins using] [diff]

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

2013-01-13
16:10
exception.m: Handle empty class names.

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

2013-01-09
22:24
Update copyright. file: [d79be2163d] check-in: [813c00ccf0] user: js, branch: trunk, size: 14286 [annotate] [blame] [check-ins using] [diff]
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: [d52bb65783] check-in: [120caad331] user: js, branch: trunk, size: 14280 [annotate] [blame] [check-ins using] [diff]

2012-09-06
19:13
Fix a forgotten rename. file: [e345b72019] check-in: [5216366469] user: js, branch: trunk, size: 14249 [annotate] [blame] [check-ins using] [diff]
19:13
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. file: [ef3f114f24] check-in: [aecc08c367] user: js, branch: trunk, size: 14250 [annotate] [blame] [check-ins using] [diff]

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

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