Commit Graph

842 Commits

Author SHA1 Message Date
theraven
8baefbe5c8 Expose asprintf() with glibc. 2013-05-28 09:57:00 +00:00
theraven
55f40d8b58 Force finding of the shared lib version of the C++ runtime lib. 2013-05-28 09:51:49 +00:00
theraven
c37fdd98ad Add CMake options for disabling ObjC++ entirely and for forcing the build of a separate libobjcxx.so. 2013-05-23 14:48:27 +00:00
theraven
95204ad094 Fixed svn URL for 1.7 release announcement. 2013-05-16 12:22:27 +00:00
theraven
03a0eda156 Added 1.7 release announcement. 2013-05-16 12:20:55 +00:00
theraven
6011966f4f Add deprecation warning to the Makefile build. 2013-05-16 12:17:37 +00:00
theraven
9d91efe015 Added a note about compiler selection to INSTALL. 2013-05-16 12:11:08 +00:00
theraven
3b44e6f97a Fix the build with LLVM 3.3 and enable building the optimisation passes by
default of LLVM 3.3 is found.
2013-05-16 12:04:18 +00:00
theraven
383ccff079 More INSTALL cleanups. 2013-04-24 09:57:41 +00:00
theraven
7589cedb98 Added note about packaging to INSTALL file. 2013-04-24 09:23:17 +00:00
theraven
c346ff1088 More header cleanups in the tests. 2013-04-23 08:49:27 +00:00
theraven
074fd1da56 Add path to Test.h to help Make builds. 2013-04-23 08:45:22 +00:00
theraven
8d954d1cb8 When linking libdispatch, register to create / destroy autorelease pools at the
correct time.  This fixes the intermittent problems when using libdispatch from
LanguageKit, among other things.
2013-04-15 15:46:39 +00:00
theraven
ed84a2b0a2 Updated release announcement. 2013-04-15 08:06:34 +00:00
theraven
518e059538 Add MIPS support for assembly paths.
Note: Only n64 is tested.  o32 and n32 will probably work, but use at your own tisk...
2013-04-14 13:23:16 +00:00
theraven
8ebd47dbae Remove the extra check from the ARM message send function. 2013-04-14 13:22:30 +00:00
theraven
d80689e3e4 Remove the test for whether the uninstalled dtable is present from
objc_msgSend().  If the class does have the uninstalled dtable, then every
method will be the nil slot and so, after navigating the dtable we will
discover that it is nil and go into the slow path.  The cost of this change is
a slight slowdown in the first message sent to every class.  The benefit is
that every subsequent message send needs one fewer memory access and one fewer
conditional jump.
2013-04-12 10:35:51 +00:00
ivucica
a6b6a9779c Fixed INIT_LOCK() on Android by casting to pthread_mutex_t.
Based on David's suggestion: http://lists.gnu.org/archive/html/gnustep-dev/2013-03/msg00082.htm
2013-04-04 09:35:21 +00:00
theraven
5ededfe863 Allow the user to specify the library path. 2013-03-25 16:05:26 +00:00
theraven
193629d8a2 Fix a bug with blocks in ARC mode being incorrectly released. 2013-03-12 08:51:59 +00:00
theraven
93e297fd87 Unconditionally make message.h a system header to work around an old-clang bug. 2013-03-11 09:15:54 +00:00
rfm
c3aa9b62e6 fix function to get type qualifiers 2013-03-09 17:01:29 +00:00
theraven
32c79b2329 Add _Unwind_Action to unwind-arm.h. This wasn't originally needed, but is now
because it is explicitly referenced by the function that is shared between the
two ObjC personality functions.

Patch by Emmanuel Maillard!
2013-03-09 10:07:28 +00:00
thebeing
26b04515a9 Link libdispatch if it is available, since the toydispatch stuff will pull it in. 2013-03-08 13:22:08 +00:00
theraven
608b330bae Disable RTTI when building LLVM passes.
Patch by Jean-Charles Bertin!
2013-03-01 14:41:30 +00:00
theraven
cbd227ad1e Bump up XOPEN source version so snprintf() is visible on FreeBSD 2013-03-01 11:32:56 +00:00
theraven
a27e31e07a Fix optimisations with LLVM trunk. 2013-03-01 11:30:17 +00:00
theraven
4b76f0134d Default to only building LLVM optimisations if the version of LLVM is tested. 2013-03-01 11:24:54 +00:00
theraven
dbe4ed41fa Updated release announcement. 2013-03-01 11:11:35 +00:00
theraven
3a0ecad453 Add header changes too... 2013-02-28 17:45:05 +00:00
theraven
57a9acb13c Some test case cleanups. 2013-02-28 14:41:51 +00:00
theraven
aad22cb092 Fix method_setImplementation bug. 2013-02-28 14:31:53 +00:00
theraven
58a574b34f Fixed a great many property introspection bugs and added test case.
Test case by Jean-Charles Bertin!
2013-02-28 14:09:00 +00:00
theraven
8cce906a41 Hopefully fix the build on crazy libc implementations. 2013-02-11 14:51:20 +00:00
theraven
c73b7a2f0b Mark all libobjc2 headers as system headers when not compiling the runtime
itself.  This makes clang hide warnings.
2013-01-31 17:40:53 +00:00
theraven
7218882f7e Apparently clang 3.2 had the same bug as 3.1... 2013-01-30 18:48:34 +00:00
theraven
3fbdbe4d02 Work around a bug in clang 3.1 that declares objc_msgSend_stret as a builtin
with the wrong signature.
2013-01-29 13:07:04 +00:00
theraven
197dbaba7c Add building / installation instructions for libobjc2. 2013-01-15 15:40:02 +00:00
theraven
9e93a413d1 Print some memory usage statistics on exit if LIBOBJC_MEMORY_PROFILE is
defined.
2013-01-15 12:40:24 +00:00
theraven
0e90d9645d Tweak the ManyManySelectors test case so that it doesn't hit a pathological
case in the selector hashing function and use insane amounts of memory.
2013-01-15 12:38:42 +00:00
theraven
1b7a492ab2 Fix a small memory leak of selector names when registering selectors with the
same name but different types.
2013-01-14 18:13:48 +00:00
theraven
d7df8c415b Move the selector table to being protected by a mutex for reads so that we can
recover memory from the smaller ones.  Selector lookups are not on the critical
path for message sends, so the cost of the extra memory is likely to be larger
than the cost of acquiring a lock in sel_getName().
2013-01-14 16:06:38 +00:00
theraven
eb234ea26a Fix the case where the number of selectors grows to more than 2^16 and we need
to fall back to 3-level dtables.  

Added a test case that registers far more selectors than a sane program
contains and tries to use them.
2013-01-14 15:07:23 +00:00
theraven
1a386c9efd Fix the GOT-relative addressing in 32-bit message sends.
Thanks to Banlu for helping track this down.
2013-01-14 14:59:01 +00:00
theraven
8ee95e805a Install the message.h header. 2013-01-14 10:51:57 +00:00
theraven
ffa7dbad8d Cleaner version of the last fix. 2013-01-14 10:41:41 +00:00
theraven
fb2e6756f6 Fix (and add test case for) a bug where objc_allocateClassPair() failed if the
superclass had not yet been loaded.
2013-01-14 10:34:17 +00:00
theraven
ae3b44ac78 Fix clang's stupid warning to work around a bug in OS X headers... 2013-01-13 17:31:50 +00:00
theraven
63bdbc9440 Add another missing file... 2013-01-13 17:21:16 +00:00
theraven
0b883f2cc2 Add missing test. 2013-01-13 11:23:36 +00:00