ObjFW  History of src/runtime/runtime-private.h of d5236bb40eb246cd

History of the file that is called src/runtime/runtime-private.h at check-in d5236bb40eb246cd

2017-07-09
15:29
Deleted: runtime: Rename include to ObjFW-RT.h (check-in: [5bb771755d] user: js, branch: trunk, size: 0)
2017-05-16
23:22
[69fcb5506f] part of check-in [5116a3709c] runtime.h: Never undefine _Nullable / _Nonnull (check-in: [5116a3709c] user: js, branch: trunk, size: 7249) [annotate] [blame] [check-ins using] [diff]
20:59
[732df9cb69] part of check-in [60c8a351c8] runtime-private.h: Define _Nullable if missing (check-in: [60c8a351c8] user: js, branch: trunk, size: 6863) [annotate] [blame] [check-ins using] [diff]
2017-05-14
14:18
[1aa5ac440a] part of check-in [c5b3c8ea87] Add nullability annotations to remaining headers

This explicitly excludes threading.h, as adding nullability annotations
requires adding them everywhere in the file. However, the types in there
are implementation defined, and might be pointers or not: Adding none
when it's a pointer would be an error, and adding one when it's not a
pointer would be an error, too. (check-in: [c5b3c8ea87] user: js, branch: trunk, size: 6657) [annotate] [blame] [check-ins using] [diff]

2017-05-07
20:10
[a994a21929] 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: 5813) [annotate] [blame] [check-ins using] [diff]

2017-04-02
15:30
[8959ceec24] part of check-in [4e40a57efa] Make __objc_exec_class() take a void*

This is necessary for ObjC++ with GCC, as otherwise, this generates an
error. Since the objc_abi_module struct is private anyway, there is not
much reason to have the argument of that type. (check-in: [4e40a57efa] user: js, branch: trunk, size: 5785) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[26968fda37] 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: 5841) [annotate] [blame] [check-ins using] [diff]

2016-03-28
23:43
[c0bf05887e] part of check-in [543eb96c02] Style consistency changes

Multiline preprocessor directives now always indent the continued lines
by 4 spaces. The only exception are defines that define to code blocks:
Those are still indented by a tab in order to align with the rest of the
code. (check-in: [543eb96c02] user: js, branch: trunk, size: 5835) [annotate] [blame] [check-ins using] [diff]

2016-02-07
20:34
[c0ea96e247] part of check-in [68d4a17534] Add lookup-asm-mips64-elf.S (check-in: [68d4a17534] user: js, branch: trunk, size: 5826) [annotate] [blame] [check-ins using] [diff]
2016-01-06
00:08
[bae86bc27a] part of check-in [fd4a416f66] Add lookup-asm-arm64-elf.S (check-in: [fd4a416f66] user: js, branch: trunk, size: 5797) [annotate] [blame] [check-ins using] [diff]
2016-01-05
22:00
[26a5f2070f] part of check-in [d3158d091f] (u)int_fast*_t -> (u)int*_t

(U)INT_FAST*_MAX is broken on Android, which makes (u)int_fast*_t
dangerous to use while it does not provide any real speed benefit. (check-in: [d3158d091f] user: js, branch: trunk, size: 5776) [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
[569575cc7f] part of check-in [cec0f072f8] Update copyright

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

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

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

2015-11-05
23:35
[0363a19b87] part of check-in [a3075d81d4] Add lookup-asm-sparc64-elf.S (check-in: [a3075d81d4] user: js, branch: trunk, size: 5782) [annotate] [blame] [check-ins using] [diff]
2015-10-19
22:15
[b5cdf1c42f] part of check-in [1ba08eebc5] Add platform.h & make platform defines consistent (check-in: [1ba08eebc5] user: js, branch: trunk, size: 5756) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[b380561a47] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 5967) [annotate] [blame] [check-ins using] [diff]
2014-05-15
15:46
[31a1b9496e] part of check-in [478119cde4] Minor style corrections (check-in: [478119cde4] user: js, branch: trunk, size: 5961) [annotate] [blame] [check-ins using] [diff]
15:32
[bdd53fa1db] part of check-in [1ebb9eb7b3] 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 (check-in: [1ebb9eb7b3] user: js, branch: trunk, size: 5963) [annotate] [blame] [check-ins using] [diff]

2014-05-02
22:49
[fa7e7433b3] part of check-in [8b9ea05af4] Only use SPARC assembly if __arch64__ is undefined (check-in: [8b9ea05af4] user: js, branch: trunk, size: 5770) [annotate] [blame] [check-ins using] [diff]
21:10
[b4f3550173] part of check-in [4c90c26c75] Add lookup-asm-sparc-elf.S (check-in: [4c90c26c75] user: js, branch: trunk, size: 5712) [annotate] [blame] [check-ins using] [diff]
2014-04-06
14:40
[0c1f32cf47] part of check-in [c2d9134d88] runtime/hashtable.m: Add support for deletion (check-in: [c2d9134d88] user: js, branch: trunk, size: 5690) [annotate] [blame] [check-ins using] [diff]
2014-03-22
17:56
[75ef745292] part of check-in [8d930f2067] Generalize runtime/hashtable.m (check-in: [8d930f2067] user: js, branch: trunk, size: 5561) [annotate] [blame] [check-ins using] [diff]
2014-02-22
01:14
[0e0bd3f946] part of check-in [05f4b0a4f0] Rename AMD64 to x86_64 (check-in: [05f4b0a4f0] user: js, branch: trunk, size: 5375) [annotate] [blame] [check-ins using] [diff]
2014-02-19
14:31
[bccc1d0efc] part of check-in [80ab671cf4] Add lookup-asm-amd64-win64.S (check-in: [80ab671cf4] user: js, branch: trunk, size: 5375) [annotate] [blame] [check-ins using] [diff]
2014-01-19
12:00
[adca3c814b] part of check-in [d80d091b0e] Add lookup-asm-ppc-macho.S. (check-in: [d80d091b0e] user: js, branch: trunk, size: 5352) [annotate] [blame] [check-ins using] [diff]
2014-01-15
18:53
[a16b73d2bd] part of check-in [f4cf33fee6] lookup-asm: Clean up local labels. (check-in: [f4cf33fee6] user: js, branch: trunk, size: 5343) [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
[0b262e3de6] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 5346) [annotate] [blame] [check-ins using] [diff]
2013-12-19
20:15
[448c2c1e1b] part of check-in [b4231b1df9] runtime: New API for internal unregister methods. (check-in: [b4231b1df9] user: js, branch: trunk, size: 5340) [annotate] [blame] [check-ins using] [diff]
2013-12-06
02:35
[d3d6b58a3c] part of check-in [b527914a91] Add x86/Win32 assembly lookup implementation. (check-in: [b527914a91] user: js, branch: trunk, size: 5260) [annotate] [blame] [check-ins using] [diff]
00:52
[3c88a5e1a9] part of check-in [84a724dd4b] Add a fast path for objc_classname_to_class().

This should improve the performance for the GCC ABI, as
objc_classname_to_class() is used for all sorts of class lookups, e.g.
objc_lookup_class().

As this performance improvement needs RAM, it is only used after 128
calls into objc_classname_to_class(), so that if the ObjFW ABI is used
and the user does not call into objc_getClass() or similar in a loop, no
memory is wasted.

Runtime internal usage of objc_classname_to_class() does not use the
fast path and does not count as a call into objc_classname_to_class().
The reason for this is that if the runtime calls
objc_classname_to_class(), it already has the lock and thus the
performance gain would be small, but it would waste memory. (check-in: [84a724dd4b] user: js, branch: trunk, size: 5194) [annotate] [blame] [check-ins using] [diff]

2013-11-22
23:24
[ceb0d6303e] part of check-in [3780f1462e] runtime: Add support for non-fragile ivars. (check-in: [3780f1462e] user: js, branch: trunk, size: 5188) [annotate] [blame] [check-ins using] [diff]
2013-07-24
22:56
[a0b575feaf] part of check-in [8108a32927] lookup-asm-mips-elf.S: Support PIC.

This also improves the check for the ABI. (check-in: [8108a32927] user: js, branch: trunk, size: 5193) [annotate] [blame] [check-ins using] [diff]

2013-07-08
15:43
[630ce5911a] part of check-in [a4f1bd6c08] Check for ASM lookup at compile time.

Checking at configure time can potentially break universal builds. (check-in: [a4f1bd6c08] user: js, branch: trunk, size: 5120) [annotate] [blame] [check-ins using] [diff]

2013-03-09
10:07
[291ac1241b] part of check-in [55c399cda6] Save some space in the dtables. (check-in: [55c399cda6] user: js, branch: trunk, size: 4740) [annotate] [blame] [check-ins using] [diff]
09:24
[987c0ee218] part of check-in [7baf58021d] Fix objc_exit() and add it to tests. (check-in: [7baf58021d] user: js, branch: trunk, size: 4779) [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
[466c124f70] 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: 4743) [annotate] [blame] [check-ins using] [diff]

2013-01-12
20:53
[c43269a3b6] part of check-in [b8ce2359f3] Clean up the feature #ifdef mess. (check-in: [b8ce2359f3] user: js, branch: trunk, size: 4743) [annotate] [blame] [check-ins using] [diff]
20:21
[29ce1db052] part of check-in [85b8efadbc] Fix --disable-threads. (check-in: [85b8efadbc] user: js, branch: trunk, size: 4738) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[07b7985b92] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 4690) [annotate] [blame] [check-ins using] [diff]
2012-12-28
02:46
[8504443dc5] part of check-in [511a372fb8] Make 16 bit selector UIDs the default. (check-in: [511a372fb8] user: js, branch: trunk, size: 4684) [annotate] [blame] [check-ins using] [diff]
2012-08-05
10:45
[8b51aa0f01] part of check-in [1cb3d9fef9] Add of_rmutex_t, a reentrant mutex implementation. (check-in: [1cb3d9fef9] user: js, branch: trunk, size: 4686) [annotate] [blame] [check-ins using] [diff]
2012-07-31
11:26
[84eb751cc1] part of check-in [8a366ec6f7] runtime: Export structs for properties. (check-in: [8a366ec6f7] user: js, branch: trunk, size: 5040) [annotate] [blame] [check-ins using] [diff]
2012-07-17
01:09
[fdc49ba79e] part of check-in [345eb93240] 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_. (check-in: [345eb93240] user: js, branch: trunk, size: 5256) [annotate] [blame] [check-ins using] [diff]

2012-05-10
18:38
[3a008110cb] part of check-in [bc531024f5] Return objects as void* instead of const void*. (check-in: [bc531024f5] user: js, branch: runtime, size: 5251) [annotate] [blame] [check-ins using] [diff]
18:21
[cfeaa72523] part of check-in [963db3089f] objc_hashtable_alloc() -> objc_hashtable_new().

For consistency. (check-in: [963db3089f] user: js, branch: runtime, size: 5249) [annotate] [blame] [check-ins using] [diff]

2012-05-09
13:55
[0a8ea1ad61] part of check-in [dcf845546a] Initialize classes on the first dispatch.

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

2012-05-08
20:30
[33a45d5cce] part of check-in [fef47937e5] Add support for 16 bit selector UIDs. (check-in: [fef47937e5] user: js, branch: runtime, size: 5209) [annotate] [blame] [check-ins using] [diff]
2012-04-21
13:05
[7dea8609ad] part of check-in [8c368f8f38] Properly copy methods from superclass first. (check-in: [8c368f8f38] user: js, branch: runtime, size: 4989) [annotate] [blame] [check-ins using] [diff]
2012-04-20
19:02
[e12f9f95c1] part of check-in [1b3d035041] Don't use the lower 8 bits for runtime flags.

It seems Clang sets flags in the lower 8 bits, so they shouldn't be used
for flags that the runtime sets. (check-in: [1b3d035041] user: js, branch: runtime, size: 4979) [annotate] [blame] [check-ins using] [diff]

2012-04-18
18:00
[5779ba0dc9] part of check-in [5a719c9b1f] Split OBJC_CLASS_INFO_INITIALIZED.

We now have OBJC_CLASS_INFO_{SETUP,LOADED,INITIALIZED}. (check-in: [5a719c9b1f] user: js, branch: runtime, size: 4974) [annotate] [blame] [check-ins using] [diff]

2012-04-06
12:14
[8f5d45afbf] part of check-in [10b3fbc5fc] Make objc_msg_lookup_super public. (check-in: [10b3fbc5fc] user: js, branch: runtime, size: 4903) [annotate] [blame] [check-ins using] [diff]
2012-03-04
23:48
[76682de6f9] part of check-in [31e7b3d756] Better dissection of what should be public and private. (check-in: [31e7b3d756] user: js, branch: runtime, size: 4955) [annotate] [blame] [check-ins using] [diff]
20:20
Added: [5494f2f715] part of check-in [129f90b580] Import and integrate ObjFW-RT. (check-in: [129f90b580] user: js, branch: runtime, size: 4931) [annotate] [blame] [check-ins using]