Commit Graph

  • e6d4229169 Don't forget to expand the tracing dtable... theraven 2013-07-24 10:50:43 +0000
  • edeb64095d Disable the failing test until it can be fixed properly. theraven 2013-07-22 10:51:56 +0000
  • da6d7f6060 Remove ivar offset fudging code, as it appears to break a lot of things. theraven 2013-07-21 18:03:03 +0000
  • d315fd40f5 Correctly handle buffered protocols. theraven 2013-07-18 09:17:11 +0000
  • d838f7ad28 Don't crash when trying to synchronize on nil (but don't do anything sensible either). theraven 2013-07-18 09:14:02 +0000
  • 8979f19f1d Fix some bugs in protocol property introspection and remove a redundant #define. theraven 2013-07-17 14:03:59 +0000
  • 68a4607f16 Define ENOTSUP if it isn't defined already. theraven 2013-07-11 15:38:02 +0000
  • 6fef97e445 add assembler flags needed for cmake rfm 2013-07-10 16:03:27 +0000
  • 4387d80fb1 Only use .type on ELF targets. theraven 2013-07-09 15:56:21 +0000
  • 16bfdc8ee6 Align ivars to 16 byte boundaries when they are larger than a pointer. This is currently overly defensive. theraven 2013-07-08 11:02:52 +0000
  • 317e951b0c libobjc2: some changes needed to build on OS X. CDECL macro to prefix symbol names in assembly code with an underscore, macros to omit the .type and .section derictives which are unsupported on OS X, and also a linker flag to make weak symbols work ericwa 2013-07-08 09:07:37 +0000
  • 71b6439091 Fix the build without gnustep-config by not relying on a variable that seems to only be set on Ubuntu... theraven 2013-07-02 09:29:18 +0000
  • 7fde81e9b2 Fix include to work with make. theraven 2013-06-30 08:35:24 +0000
  • f50bc6cf33 Added support for tracing message sends to the runtime. Currently x86-64 only. theraven 2013-06-29 11:05:31 +0000
  • 3e2176a824 Update ANNOUNCE to clean slate for next release. theraven 2013-06-28 12:42:54 +0000
  • 2f720fb30e Respect CMAKE_INSTALL_LIBDIR when determining library install paths. theraven 2013-06-27 11:30:41 +0000
  • 60a3605c6c Added a test that the C++ runtime is really useable (i.e. exports the symbols that we need). theraven 2013-06-21 13:10:12 +0000
  • 3b9bbf296d Fixed property introspection test for the more-expressive strings that clang now produces. theraven 2013-06-21 11:48:24 +0000
  • 1a76a2a021 Handle the case where the alignment of a new ivar is 0. theraven 2013-06-21 11:47:55 +0000
  • 0ed2182b83 Add explicit cast for pthread lock initialiser. theraven 2013-05-28 10:00:11 +0000
  • 8baefbe5c8 Expose asprintf() with glibc. theraven 2013-05-28 09:57:00 +0000
  • 55f40d8b58 Force finding of the shared lib version of the C++ runtime lib. theraven 2013-05-28 09:51:49 +0000
  • c37fdd98ad Add CMake options for disabling ObjC++ entirely and for forcing the build of a separate libobjcxx.so. theraven 2013-05-23 14:48:27 +0000
  • 95204ad094 Fixed svn URL for 1.7 release announcement. theraven 2013-05-16 12:22:27 +0000
  • 03a0eda156 Added 1.7 release announcement. theraven 2013-05-16 12:20:55 +0000
  • 6011966f4f Add deprecation warning to the Makefile build. theraven 2013-05-16 12:17:37 +0000
  • 9d91efe015 Added a note about compiler selection to INSTALL. theraven 2013-05-16 12:11:08 +0000
  • 3b44e6f97a Fix the build with LLVM 3.3 and enable building the optimisation passes by default of LLVM 3.3 is found. theraven 2013-05-16 12:04:18 +0000
  • 383ccff079 More INSTALL cleanups. theraven 2013-04-24 09:57:41 +0000
  • 7589cedb98 Added note about packaging to INSTALL file. theraven 2013-04-24 09:23:17 +0000
  • c346ff1088 More header cleanups in the tests. theraven 2013-04-23 08:49:27 +0000
  • 074fd1da56 Add path to Test.h to help Make builds. theraven 2013-04-23 08:45:22 +0000
  • 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. theraven 2013-04-15 15:46:39 +0000
  • ed84a2b0a2 Updated release announcement. theraven 2013-04-15 08:06:34 +0000
  • 518e059538 Add MIPS support for assembly paths. theraven 2013-04-14 13:23:16 +0000
  • 8ebd47dbae Remove the extra check from the ARM message send function. theraven 2013-04-14 13:22:30 +0000
  • 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. theraven 2013-04-12 10:35:51 +0000
  • a6b6a9779c Fixed INIT_LOCK() on Android by casting to pthread_mutex_t. ivucica 2013-04-04 09:35:21 +0000
  • 5ededfe863 Allow the user to specify the library path. theraven 2013-03-25 16:05:26 +0000
  • 193629d8a2 Fix a bug with blocks in ARC mode being incorrectly released. theraven 2013-03-12 08:51:59 +0000
  • 93e297fd87 Unconditionally make message.h a system header to work around an old-clang bug. theraven 2013-03-11 09:15:54 +0000
  • c3aa9b62e6 fix function to get type qualifiers rfm 2013-03-09 17:01:29 +0000
  • 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. theraven 2013-03-09 10:07:28 +0000
  • 26b04515a9 Link libdispatch if it is available, since the toydispatch stuff will pull it in. thebeing 2013-03-08 13:22:08 +0000
  • 608b330bae Disable RTTI when building LLVM passes. theraven 2013-03-01 14:41:30 +0000
  • cbd227ad1e Bump up XOPEN source version so snprintf() is visible on FreeBSD theraven 2013-03-01 11:32:56 +0000
  • a27e31e07a Fix optimisations with LLVM trunk. theraven 2013-03-01 11:30:17 +0000
  • 4b76f0134d Default to only building LLVM optimisations if the version of LLVM is tested. theraven 2013-03-01 11:24:54 +0000
  • dbe4ed41fa Updated release announcement. theraven 2013-03-01 11:11:35 +0000
  • 3a0ecad453 Add header changes too... theraven 2013-02-28 17:45:05 +0000
  • 57a9acb13c Some test case cleanups. theraven 2013-02-28 14:41:51 +0000
  • aad22cb092 Fix method_setImplementation bug. theraven 2013-02-28 14:31:53 +0000
  • 58a574b34f Fixed a great many property introspection bugs and added test case. theraven 2013-02-28 14:09:00 +0000
  • 8cce906a41 Hopefully fix the build on crazy libc implementations. theraven 2013-02-11 14:51:20 +0000
  • c73b7a2f0b Mark all libobjc2 headers as system headers when not compiling the runtime itself. This makes clang hide warnings. theraven 2013-01-31 17:40:53 +0000
  • 7218882f7e Apparently clang 3.2 had the same bug as 3.1... theraven 2013-01-30 18:48:34 +0000
  • 3fbdbe4d02 Work around a bug in clang 3.1 that declares objc_msgSend_stret as a builtin with the wrong signature. theraven 2013-01-29 13:07:04 +0000
  • 197dbaba7c Add building / installation instructions for libobjc2. theraven 2013-01-15 15:40:02 +0000
  • 9e93a413d1 Print some memory usage statistics on exit if LIBOBJC_MEMORY_PROFILE is defined. theraven 2013-01-15 12:40:24 +0000
  • 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. theraven 2013-01-15 12:38:42 +0000
  • 1b7a492ab2 Fix a small memory leak of selector names when registering selectors with the same name but different types. theraven 2013-01-14 18:13:48 +0000
  • 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(). theraven 2013-01-14 16:06:38 +0000
  • 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. theraven 2013-01-14 15:07:23 +0000
  • 1a386c9efd Fix the GOT-relative addressing in 32-bit message sends. theraven 2013-01-14 14:59:01 +0000
  • 8ee95e805a Install the message.h header. theraven 2013-01-14 10:51:57 +0000
  • ffa7dbad8d Cleaner version of the last fix. theraven 2013-01-14 10:41:41 +0000
  • fb2e6756f6 Fix (and add test case for) a bug where objc_allocateClassPair() failed if the superclass had not yet been loaded. theraven 2013-01-14 10:34:17 +0000
  • ae3b44ac78 Fix clang's stupid warning to work around a bug in OS X headers... theraven 2013-01-13 17:31:50 +0000
  • 63bdbc9440 Add another missing file... theraven 2013-01-13 17:21:16 +0000
  • 0b883f2cc2 Add missing test. theraven 2013-01-13 11:23:36 +0000
  • ca25388b37 Fix a lock-order reversal where one thread calls some dtable-manipulating function while another is initializing. theraven 2013-01-12 16:29:20 +0000
  • 65e3dc736c Added test of forwarding mechanisms. theraven 2013-01-12 15:49:39 +0000
  • b757ea9ffb Tidied up tests, made them work with make as well as ninja generators for CMake. theraven 2013-01-12 13:24:21 +0000
  • 6317b79a10 Implemented the new exception ABI, and a load of tests for it. This is used by clang trunk if -fobjc-runtime-1.7 is specified and provides significantly better interoperability with foreign exceptions. theraven 2013-01-12 13:17:36 +0000
  • 7e5d437065 Restored r35794 changes (that were removed in r35893) but applied them to the GNUMakefile rather than the Makefile. qmathe 2013-01-11 13:35:42 +0000
  • 0dcb0885bf Update opts to work with LLVM trunk (3.3). theraven 2013-01-10 09:22:25 +0000
  • aeb0c913b9 Enabled property attribute test, fixed failure. theraven 2013-01-09 21:50:11 +0000
  • ef5f8b744d Added more test cases. theraven 2013-01-09 21:42:16 +0000
  • bcf6e32311 Make it possible to disable building the tests. theraven 2013-01-09 19:02:00 +0000
  • d1336543d8 Build with exceptions (fixes the issue with crashes where +initialize throws) theraven 2013-01-09 19:00:17 +0000
  • d1f3463ac7 Make sure that there is always a comma between T and V in property attributes. theraven 2013-01-09 18:56:05 +0000
  • 95aef24803 Fix crash in ARC assignment. theraven 2013-01-05 16:13:23 +0000
  • c6614a218c Install libobjcxx if we're building it. theraven 2013-01-02 14:30:02 +0000
  • 86d07fa024 Install libobjcxx, if it's built. theraven 2012-12-23 11:47:07 +0000
  • ee927d20a5 Remove definitions that don't appear to be needed anymore. theraven 2012-12-23 10:53:38 +0000
  • c98014b667 Actually commit the disabling of the llvm opts, and not the output from cmake help... theraven 2012-12-23 10:31:16 +0000
  • be2ee54190 Default building the LLVM optimisations to off if the LLVM CMake module is not found. theraven 2012-12-23 10:15:10 +0000
  • 150aa4ef19 Fix linkage in libobjc. theraven 2012-12-22 16:43:17 +0000
  • db3cbec65a Make sure that the asm files are built. Add a configuration option for the include headers so OpenBSD can put them in include/gnustep/objc/ theraven 2012-12-22 11:35:29 +0000
  • a5cc173310 Correctly handle the case of GNUstep config not existing. theraven 2012-12-22 11:12:42 +0000
  • 651962702a Add uninstall target to CMake. theraven 2012-12-22 11:04:20 +0000
  • 5cd0a37e27 Change how we do GOT-relative relocations in objc_msgSend on i386 to make gas happier. theraven 2012-12-22 09:31:41 +0000
  • bfc1a2ed11 Add a flag for setting the library name. theraven 2012-12-22 09:22:12 +0000
  • 501d5b9828 Set the C++ runtime to nothing if it is not found. theraven 2012-12-22 09:18:18 +0000
  • 2841400e0c Add CPack configuration to CMakeLists.txt. RPMs, DEBs and tarballs can now be built directly from the build system. theraven 2012-12-18 11:57:55 +0000
  • 080107e2db Correctly pass the LLVM version in to the LLVM passes as they are built. theraven 2012-12-17 19:29:39 +0000
  • a5b4ab9937 Specify the current runtime version to target if the compiler supports this flag. This means that the .m files in the runtime will take advantage of features of this runtime when compiled with a recent clang. theraven 2012-12-17 16:11:56 +0000
  • d0562d2127 Added helper function for C++ non-POD type atomic properties. Fixed prototypes of specialised property functions. theraven 2012-12-17 15:51:19 +0000
  • a9be008911 Add optimised special-case property function. theraven 2012-12-17 12:52:16 +0000
  • 3c7d6f8fd9 Fix merging CFLAGS. theraven 2012-12-14 09:40:39 +0000