780 Commits (4742f71d2934841b6f1f16547e60a64cda5984d9)
 

Author SHA1 Message Date
theraven 709f238364 Sync on the metaclass, not the class, since that's what we're actually testing... 15 years ago
theraven f9d1b5f356 Clean up the low memory profile. Now passes all GNUstep-base and EtoileFoundation tests, just like the default profileand uses 5-10% less (total) RAM in GORM. Worth benchmarking to see how much performance this costs.
Updated the release announcement.
15 years ago
theraven f0974cb415 Cosmetic fix - use the correct union field, not an explicit cast. 15 years ago
theraven 789219a2cb Expose the low memory profile as an option in the dtable. 15 years ago
theraven 4fc7030973 Remove some obsolete FIXMEs. 15 years ago
theraven 7b49755964 Dtable cleanup cleanups. 15 years ago
theraven f5f0816777 Make the selector hash depend on the types as well as the name - should reduce
hash collisions between typed and untyped versions.
15 years ago
theraven c6556fd230 Remove FIXME that was fixed in last commit. 15 years ago
theraven bad36445e3 Improve efficiency of dtable updates from categories.
Make +initialize sending exception safe.
15 years ago
theraven 9fd1d26c00 Removed debugging statement that should not have been added in the first place... 15 years ago
theraven af85d8496d Actually wait for +initialize to finish before allowing any thread to send a message to a class (I broke this when I rewrote the dtable code to use a per-class lock - the lookup forgot to acquire the correct mutex.) 15 years ago
theraven d7056f6de2 Simplify @synchronize() and improve efficiency (space and time). 15 years ago
theraven 5ea9367f3d Tweak alignment. 15 years ago
theraven 987ab88a94 Don't do hidden-class transforms for classes, just dangle the look-aside data off the class structure.
Individually lock classes so that +initialize can be sent concurrently to two different classes in two different threads.
15 years ago
theraven 24de067017 Default to building without the legacy APIs, now GNUstep doesn't require them. 15 years ago
theraven 32e6715106 Started updating ANNOUNCE for the next release. 15 years ago
theraven e198597bd3 Added support for associative references. Modified sync code to use this. 15 years ago
theraven d51500184c More cleanups. Stop using __ identifiers for internal stuff now that it's properly marked private and we don't have to worry about conflicts. 15 years ago
theraven 6c7cf4a5a6 Add visibility attributes on all internal functions so that we aren't ever exporting them outside of libobjc. 15 years ago
theraven c2f572f9a1 Set the makefiles in trunk back to non-release mode. 15 years ago
theraven c83f585bd3 Added note about aliases to release announcement. 15 years ago
theraven 442e2e0a07 1.3 release announcement. 15 years ago
theraven b76b4be925 Disable selector type mismatch warnings, for the release. 15 years ago
thebeing 901c3b6a1c Fix linking libobjcxx when libobjc has not yet been installed. 15 years ago
theraven 95ef5a93f9 Always use the first version of a class that's loaded twice until the merging code is a bit better tested. 15 years ago
theraven 23b26820f5 Make it easier to suppress mismatched selector warnings. It's useful for the runtime to tell you when your code is bad. Not so useful for it to tell you when someone else's code is bad... 15 years ago
theraven 95404fc7ba Tidied up Makefile. 15 years ago
theraven 600e970dea Separate ObjC++ support out into libobjcxx. Now code that doesn't need ObjCXX support can safely ignore it again. 15 years ago
theraven 7e71ffe24d Use correct pthread flag on OpenBSD.
Patch by Sebastian Reitenbach!
15 years ago
theraven 7a7fce3c97 Link with $(CXX) instead of ld, so that C++ linking is done properly. 15 years ago
theraven 3eb0ecb96b Ensure that the superclass is registered when testing for protocol conformance. 15 years ago
theraven 28b1db6f6e Make sure that -fPIC is specified for C++ files too. 15 years ago
theraven 06ff4be6a9 More build system tidies. 15 years ago
theraven 1d071bf4c1 Create the lib dir if it doesn't exist (never required in normal usage, but useful when installing to a temporary directory). 15 years ago
theraven 01558d3c4e Brought Makefile up to compatibility with GNUmakefile. 15 years ago
theraven 496c66bd0b Fix linker errors. 15 years ago
theraven 1ecd07d637 Don't use __attribute__((constructor)) for creating things that are called by
other constructors.
15 years ago
theraven f330ba0f36 Remove thread-local variable that isn't actually used... 15 years ago
thebeing 62afedcbaf Add a small test for alias registration. 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 ed9d0f33c9 Actually install the header that's referenced. 15 years ago
theraven 4ee1b1f4ac Test first, then commit... 15 years ago
theraven 98c43c06b3 Some tweaks to ANNOUNCE. 15 years ago
theraven 62536ce247 Added more header comments. 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 7e465eb325 Tweak building without ObjC++ support a bit. 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