ObjFW  History of src/runtime/lookup.m of d0db1d88142fa845

History of file src/runtime/lookup.m at check-in d0db1d88142fa845

2024-04-03
02:16
Change license to LGPLv3 only file: [fba665cbdb] check-in: [7413a728a7] user: js, branch: trunk, size: 4979 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [46930723ef] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 4771 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [bc901bdb0e] check-in: [8939cbdb52] user: js, branch: trunk, size: 4771 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [620b9cc132] check-in: [1a86b8175b] user: js, branch: trunk, size: 4771 [annotate] [blame] [check-ins using] [diff]
2021-05-09
18:11
runtime: Fix lookup for systems without ASM lookup file: [61816856c1] check-in: [ed10c3b404] user: js, branch: trunk, size: 4771 [annotate] [blame] [check-ins using] [diff]
2021-05-02
14:28
Don't use OFEnsure() in runtime file: [7e08e68b8b] check-in: [0c7760bd05] user: js, branch: trunk, size: 4779 [annotate] [blame] [check-ins using] [diff]
11:34
runtime: Name things more consistently file: [d4c41afde5] check-in: [2b75f9e6a0] user: js, branch: trunk, size: 4746 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [041b8ab433] check-in: [374e1a1bfa] user: js, branch: trunk, size: 4751 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [507e90722d] check-in: [c7f0229795] user: js, branch: trunk, size: 4840 [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: [f359b0b2e3] check-in: [79fe29dbf4] user: js, branch: trunk, size: 4837 [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: [15533381ae] check-in: [ede088a30d] user: js, branch: trunk, size: 4838 [annotate] [blame] [check-ins using] [diff]

2019-02-07
21:31
More style improvements file: [b612119f40] check-in: [754bf24742] user: js, branch: trunk, size: 4973 [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: [5c7645fb2a] check-in: [ef6d69931e] user: js, branch: trunk, size: 4932 [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
Update copyright file: [dc384327e0] check-in: [0509d7a844] user: js, branch: trunk, size: 4687 [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: [2d11be3866] check-in: [482698c5be] user: js, branch: trunk, size: 4787 [annotate] [blame] [check-ins using] [diff]

2018-04-29
20:27
runtime: Add glue functions for Amiga library file: [97e097af52] check-in: [4c72b5544f] user: js, branch: trunk, size: 5037 [annotate] [blame] [check-ins using] [diff]
19:26
runtime: Specify m68k registers for most functions file: [61e54bb565] check-in: [2d8aa8b1e6] user: js, branch: trunk, size: 4769 [annotate] [blame] [check-ins using] [diff]
2018-04-22
16:13
runtime: Define BOOL to be the same as bool

As we define the ABI, we can just replace BOOL with bool everywhere,
including in ObjFW itself. For the Apple platforms where BOOL and bool
are different, this is not a problem as BOOL and bool are passed and
returned the same way in the ABI.

This still defines BOOL to bool for compatibility, except on AmigaOS and
Wii, which both have its own BOOL type. file: [107b957fe8] check-in: [fe2cbe0021] user: js, branch: trunk, size: 4681 [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: [d66050c602] check-in: [0f42b0eafd] user: js, branch: trunk, size: 4681 [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
Update copyright notice file: [0a8dc1a730] check-in: [7e5c81e186] user: js, branch: trunk, size: 4681 [annotate] [blame] [check-ins using] [diff]
2017-07-09
15:29
runtime: Rename include to ObjFW-RT.h file: [70c618650d] check-in: [5bb771755d] user: js, branch: trunk, size: 4658 [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: [5175096ba7] check-in: [79011c5f56] user: js, branch: trunk, size: 4723 [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: [b142ca0e6c] check-in: [44f45c2e35] user: js, branch: trunk, size: 4665 [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:41
Update copyright

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

2015-01-03
20:57
Update copyright file: [e340c559c3] check-in: [cfd374b906] user: js, branch: trunk, size: 4655 [annotate] [blame] [check-ins using] [diff]
2014-07-18
13:02
runtime/lookup.m: Minor improvement file: [c395e5b4c4] check-in: [71517b2e5d] user: js, branch: trunk, size: 4649 [annotate] [blame] [check-ins using] [diff]
2014-06-23
00:12
runtime/lookup.m: Fix build with GCC file: [02a0538d70] check-in: [1c1064611f] user: js, branch: trunk, size: 4709 [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: [c4fa11142c] check-in: [1ebb9eb7b3] user: js, branch: trunk, size: 4574 [annotate] [blame] [check-ins using] [diff]

2014-01-05
22:31
Change behaviour of class_getMethodImplementation.

It behaves like in the Apple runtime now. file: [cccd16e367] check-in: [3cd9d0ad69] user: js, branch: trunk, size: 4592 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [55f05a8843] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 4459 [annotate] [blame] [check-ins using] [diff]
2013-12-27
02:07
Rework forwarding API and ABI.

It matches the Apple API and ABI now and the forwarding handler itself
determines whether it should forward or not.

This moves handling of +[resolve{Class,Instance}Method:] to the runtime
and allows adding new kinds of forwarding without changing the runtime.

Also fixes a potential stack problem in the forwarding for MIPS. file: [5baad6528e] check-in: [0c332aa2d2] user: js, branch: trunk, size: 4453 [annotate] [blame] [check-ins using] [diff]

2013-07-26
15:21
Add support for objc_msg_lookup_stret.

The assembly implementations of the lookup and forwarding still need to
be adjusted. Those just alias to the non-stret version for now so that
linking works, meaning the behaviour is still the same as without
support for objc_msg_lookup_stret for now. file: [1c3a42c0f8] check-in: [9713ad857d] user: js, branch: trunk, size: 3487 [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: [7a62dc26ba] check-in: [c5ef582958] user: js, branch: trunk, size: 2524 [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
Update copyright. file: [7510694bab] check-in: [813c00ccf0] user: js, branch: trunk, size: 2537 [annotate] [blame] [check-ins using] [diff]
2012-09-06
19:13
Fix a forgotten rename. file: [0983e7708e] check-in: [5216366469] user: js, branch: trunk, size: 2531 [annotate] [blame] [check-ins using] [diff]
19:13
Improve selector not found message. file: [aeac5b2dcb] check-in: [9dfe462848] user: js, branch: trunk, size: 2533 [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: [ef50fd350e] check-in: [345eb93240] user: js, branch: trunk, size: 2511 [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
Don't access isa directly. file: [34d39a737b] check-in: [8892ae9fcc] user: js, branch: trunk, size: 2501 [annotate] [blame] [check-ins using] [diff]
2012-05-09
13:55
Initialize classes on the first dispatch.

This is no longer done in objc_msg_lookup() and thus allows direct class
references. file: [584f60ba59] check-in: [dcf845546a] user: js, branch: runtime, size: 2432 [annotate] [blame] [check-ins using] [diff]

13:54
Better way of calling the forwarding handler. file: [9ff82b2e4e] check-in: [f5747ff94a] user: js, branch: runtime, size: 1734 [annotate] [blame] [check-ins using] [diff]
2012-05-03
22:31
Check in configure whether to use assembly lookup. file: [4a37e847d8] check-in: [e382d2a8cb] user: js, branch: runtime, size: 1707 [annotate] [blame] [check-ins using] [diff]
2012-04-22
12:15
A few casts to make Clang happy. file: [035f3dccce] check-in: [e1586f4dce] user: js, branch: runtime, size: 1759 [annotate] [blame] [check-ins using] [diff]
2012-04-06
12:14
Make objc_msg_lookup_super public. file: [40605ab2a2] check-in: [10b3fbc5fc] user: js, branch: runtime, size: 1719 [annotate] [blame] [check-ins using] [diff]
2012-03-06
17:18
Get rid of src/runtime/asm and move the files to src/runtime.

Subdirectories don't really work without traversing them and having a
Makefile in them and it's not really worth the effort for just 2 files. file: [29b33e14c4] check-in: [3dbfc001c0] user: js, branch: runtime, size: 1723 [annotate] [blame] [check-ins using] [diff]

2012-03-04
20:20
Added: Import and integrate ObjFW-RT. file: [979591be16] check-in: [129f90b580] user: js, branch: runtime, size: 1724 [annotate] [blame] [check-ins using]