theraven
898707bf94
Added function for getting reference count.
15 years ago
theraven
368bf3bd1d
Add reallocate function.
15 years ago
theraven
88c075893f
Call ObjC++ destructors when finalising an object.
...
Add public APIs required to implement [NSGarbageCollector -enable] and [NSGarbageCollector -disable].
15 years ago
theraven
9015795dde
Use explicitly typed memory for instances.
15 years ago
theraven
2329b7a1ec
Change spelling to be consistent with Apple.
15 years ago
theraven
929f8f95b4
Improved a few GC functions.
...
Added objc-auto.h header, providing (documented) public interfaces to this
functionality.
15 years ago
theraven
8ee4d9c38a
Added implementation of property_getAttributes(). This is a horrible interface, both to implement and to use. We should add some better interfaces.
15 years ago
theraven
c6f0651609
Implemented objc_copyProtocolList().
15 years ago
theraven
79b67ad044
Added missing ivar access functions.
15 years ago
theraven
12385fcb1e
Tidy up low memory profile to use slots directly.
15 years ago
theraven
535ba87a8e
Store the selector, not the type encoding, in slots.
15 years ago
theraven
e198597bd3
Added support for associative references. Modified sync code to use this.
15 years ago
theraven
06ff4be6a9
More build system tidies.
15 years ago
thebeing
ee7817cf57
Implement a hook that allows the compiler to register the aliases used with the
...
@compatibility_alias directive so that they can be resolved at runtime.
15 years ago
theraven
faa741b133
Added some header documentation for runtime functions.
15 years ago
theraven
ff21fcc43d
Added C++ include guards to capabilities.h
15 years ago
theraven
7336df75bc
Added some more comments, C++ include guards around runtime.h.
15 years ago
theraven
2c21235cc2
Fix multiple include guard in capabilities.h.
15 years ago
theraven
73e1e2934b
It turns out that Apple chose some confusing and non-intuitive semantics for
...
catching Objective-C objects in C++ catch statements (i.e. they follow
Objective-C semantics, not C++ semantics, irrespective of whether you use C++
or ObjC syntax). We now default to Apple-compatible behaviour, but provide a
function that allows users to select the sane semantics if they prefer.
Added a capability bit for the unified exception model, so code can require it.
This is not really required, since any code using it will link against the
ObjC++ personality function and will get a linker failure if it isn't supported.
Also enabled Objective-C++ stuff by default. This adds a dependency on the C++
standard library (actually on libsupc++, but GNUstep Make wants to link against
libstd++ anyway), which is not ideal. It can be disabled with:
$ gmake objectiver-cxx=no
I suggest that this is only done by people who know that they will never want
Objective-C++ support.
15 years ago
theraven
e0d80861b5
Added some documentation.
15 years ago
theraven
8db63b976f
Initial work on developer mode (allows classes to be replaced at run time with new versions, by cooperating IDEs). This support is part of ongoing work to provide fix-and-continue functionality with Clang / Cling and LanguageKit.
15 years ago
theraven
bde6bf0e14
Fix truncated comment in header and 'worse than useless' macro.
...
Both issues pointed out by Jens Ayton.
15 years ago
ericwa
a7ea477400
libobjc2: put libobjc compatibility functions in runtime.h marked __attribute__((deprecated))
15 years ago
theraven
e70d00a76d
Restore accidentally deleted toydispatch.h.
15 years ago
theraven
7be9f34619
Fixed @synchronize() with a class that has had an instance used for @synchronize().
15 years ago
theraven
ee32f78b0a
Tweaked the GNUmakefile to (more or less) work with gcc.
...
Fixed block introspection for the new (Apple-compatible) ABI.
16 years ago
theraven
025688a2d5
Added property_getName(). Added non-portable API documentation.
16 years ago
theraven
d70523947b
Implement some missing runtime functions.
16 years ago
theraven
9c077368a8
Make sel_copyTypes_np() return the number of types in all cases.
16 years ago
theraven
a029fb2af3
Expose sel_copyTypes_np().
16 years ago
ericwa
7ce5a0ab11
libobjc2: make Object.h include runtime.h
16 years ago
ericwa
c604289023
libobjc2: define SEL as const for GCC
16 years ago
theraven
b1aa77e450
Commit some missing files.
16 years ago
theraven
eb48fda62b
Expose a function needed by GNUstep.
16 years ago
theraven
e2d848467c
Another try...
16 years ago
theraven
00004fe5f3
More tweaks to the GNU-compatibility encoding stuff. This API is too broken to use, but GNUstep seems to want it.
16 years ago
theraven
0177ef56e1
Tweak the type encoding stuff a bit.
16 years ago
theraven
5885fd196a
Add defines for ObjC types (GNUstep apparently uses them, even though they are not part of the language spec, but the things that they define are, so they only serve to obfuscate code where they are used).
16 years ago
theraven
bd58a33b84
Prevent accidental mixing of GNU runtime headers with GNUstep runtime.h.
16 years ago
theraven
f43e7f6845
Fix typo.
16 years ago
theraven
ab59ce1d33
Add feature test APIs to libobjc2.
16 years ago
theraven
77d02d075b
Add some missing protocol introspection functions.
16 years ago
ericwa
52bdf1484f
libobjc2: add dummy objc.h and objc-api.h headers which simply include runtime.h
16 years ago
theraven
0284155f2d
Added a hook that defines the behaviour when you call a method with the wrong signature.
16 years ago
theraven
e9b129d878
Added low memory profile to libobjc2. This uses a more NeXT-style dtable design, which gives better memory usage at the cost of (significantly) worse worst-case performance. The memory savings seem to be only about 10% in the apps I've tested (Gorm, edlc), so it's probably not worthwhile, but it might be useful for someone finding stuff is just starting to swap...
16 years ago
theraven
2cc96a6f7e
Fix message forwarding by, for example, actually calling the public forwarding hook, instead of one that isn't exposed to GNUstep...
16 years ago
theraven
fb474dd7f9
Removed hooks from runtime.h that are in hooks.h
16 years ago
theraven
f375d20d7a
Add support for catching C++ (and Java / Ada) exceptions in Objective-C.
16 years ago
theraven
07758fe521
Removed last bits of legacy code from libobjc2. Added new exception handling implementation.
16 years ago
theraven
b1b9baf382
Finished rewrite of message sending. Deleted lots of legacy stuff.
16 years ago