libs-base/Source
theraven b62db0e294 Improve the efficiency of NSObject's methodSignatureForSelector by:
- Moving the linear search over all of the method lists in the class hierarchy to the end.  If we found the type info in the protocol list, we were throwing this info away.  Doing something expensive and then discarding the result is generally not a good idea.

- Replacing the linear search of the method lists with a dtable lookup on libobjc2.  The type info for methods is part of the slot, so we only need to do the expensive search at all on the old runtime.  With libobjc2, type info lookup costs as little as IMP lookup, so doing things the slow way is not required.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31231 72102866-910b-0410-8b05-ffd578937521
2010-09-02 15:17:46 +00:00
..
Additions fixup for error logging 2010-07-03 05:54:56 +00:00
ObjectiveC2 * ObjectiveC2/sync.m -- Removed WEAK declaration 2010-08-25 17:38:13 +00:00
unix improve setting of warning flags 2010-03-11 08:08:08 +00:00
win32 improve setting of warning flags 2010-03-11 08:08:08 +00:00
.cvsignore Header reorganizsateion - Please refer to ChangeLog 2003-07-31 23:49:32 +00:00
callframe.h a bit step towards removing obsolete mframe code. 2009-10-04 15:26:07 +00:00
callframe.m include malloc.h for alloc() on platforms where it isn't in alloca.h 2010-03-16 06:11:00 +00:00
cifframe.h simplify last change 2010-06-08 05:03:14 +00:00
cifframe.m simplify last change 2010-06-08 05:03:14 +00:00
common.h tweak for OSX build 2010-03-12 13:55:11 +00:00
CompatibilityHeaders.make allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
CXXException.m emergency fixup for broken build 2010-07-01 07:17:53 +00:00
dld-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
DocMakefile remove obsolete header 2010-04-11 17:20:10 +00:00
externs.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
GNUmakefile Attempt to integrate Niels Grewe's avahi code 2010-07-13 10:35:13 +00:00
GSArray.m revrt archiving changes 2010-03-08 12:07:11 +00:00
GSAttributedString.m avoid some compiler warnings 2010-08-10 10:38:50 +00:00
GSAvahiClient.h attempt to get avahi code working without breaking abi. 2010-07-13 12:13:31 +00:00
GSAvahiClient.m Attempt to integrate Niels Grewe's avahi code 2010-07-13 10:35:13 +00:00
GSAvahiNetService.m attempt to get avahi code working without breaking abi. 2010-07-13 12:13:31 +00:00
GSAvahiNetServiceBrowser.m fix ivar errors and missing import 2010-07-13 11:21:46 +00:00
GSAvahiRunLoopIntegration.h Attempt to integrate Niels Grewe's avahi code 2010-07-13 10:35:13 +00:00
GSAvahiRunLoopIntegration.m Attempt to integrate Niels Grewe's avahi code 2010-07-13 10:35:13 +00:00
GSConcreteValue.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
GSConcreteValueTemplate.m deprecates some gnustep runtime wrappers 2010-02-22 10:13:20 +00:00
GSCountedSet.m revrt archiving changes 2010-03-08 12:07:11 +00:00
GSDictionary.m revrt archiving changes 2010-03-08 12:07:11 +00:00
GSeq.h simplify for older compilers 2009-10-13 09:59:34 +00:00
GSFastEnumeration.h Tidied up some compiler warnings in last commit. 2009-12-27 14:41:15 +00:00
GSFFCallInvocation.m zero self after dealloc if we are going to call another method. 2010-03-04 12:24:43 +00:00
GSFFIInvocation.m Fix base build with libobjc2 2010-07-16 18:00:45 +00:00
GSFileHandle.m fix to allow reading from stdin 2010-08-31 14:32:40 +00:00
GSFormat.m include malloc.h for alloc() on platforms where it isn't in alloca.h 2010-03-16 06:11:00 +00:00
GSFTPURLHandle.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
GSHTTPAuthentication.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
GSHTTPURLHandle.m Fix for #29764 2010-05-05 13:43:42 +00:00
GSInternal.h inon-fragile ivar update 2010-02-26 11:04:14 +00:00
GSInvocation.h rework memory management for ffi 2010-06-07 20:38:19 +00:00
GSLocale.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
GSMDNSNetServices.m Attempt to integrate Niels Grewe's avahi code 2010-07-13 10:35:13 +00:00
GSNetServices.h attempt to get avahi code working without breaking abi. 2010-07-13 12:13:31 +00:00
GSNetwork.h tweaks for mingw defines 2010-03-19 12:26:42 +00:00
GSNumberTypes.h Make NSNumber more like OSX ... retain for copy, and return YES/NO as BOOL 2010-02-19 19:23:03 +00:00
GSPortPrivate.h generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
GSPrivate.h generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
GSPThread.h Simplify source by usuing autoconf 2010-06-12 07:19:26 +00:00
GSRunLoopCtxt.h generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
GSRunLoopWatcher.h Add some missing comments 2009-02-26 11:09:05 +00:00
GSRunLoopWatcher.m generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
GSSet.m revrt archiving changes 2010-03-08 12:07:11 +00:00
GSSocketStream.h Move NSStream addition declarations to separate file. 2010-03-05 12:41:40 +00:00
GSSocketStream.m generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
GSStream.h Move NSStream addition declarations to separate file. 2010-03-05 12:41:40 +00:00
GSStream.m generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
GSString.m Added a hack to allow the stuff GSString caches to be re-cached. Ideally we wouldn't be caching any of this stuff (or, with libobjc2, we'd be using the slot mechanism to invalidate the cache when required). 2010-07-19 17:10:46 +00:00
GSURLPrivate.h * Source/GSURLPrivate.h: Addition of private method to NSURLProtocol 2009-04-18 14:22:54 +00:00
GSValue.m further cleanup ... always use -zone method to get an object's zone ... 2010-03-05 09:30:18 +00:00
hpux-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
inet_ntop.c remove unnecessary includeswq 2010-02-22 21:43:45 +00:00
inet_pton.c Guarded stdint.h inclusion 2010-05-21 11:05:33 +00:00
libgnustep-base-entry.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
Makefile.postamble Fix makefile to copy common.h into $GNUSTEP_TARGET_DIR so that it is found when 2010-07-01 10:15:37 +00:00
Makefile.preamble improve setting of warning flags 2010-03-11 08:08:08 +00:00
NSAffineTransform.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSArchiver.m further cleanup ... always use -zone method to get an object's zone ... 2010-03-05 09:30:18 +00:00
NSArray.m various bugfixes 2010-06-15 11:26:00 +00:00
NSAssertionHandler.m Cleanup some deprecated code 2010-02-25 08:19:52 +00:00
NSAttributedString.m Fix keyed archiving and unarchiving of (mutable) attributed strings 2010-05-30 15:16:36 +00:00
NSAutoreleasePool.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSBundle.m Added hack that should allow to load class lists of frameworks with a relative path (eg, if you have ../../MyFrameworks/ in your LD_LIBRARY_PATH you may be to load a framework with a relative path) 2010-07-26 14:08:22 +00:00
NSCache.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSCachedURLResponse.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSCalendarDate.m tweak twelve hour clock support. 2010-08-07 05:02:28 +00:00
NSCallBacks.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSCallBacks.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSCharacterSet.m optimisation for adding large ranges of characters. 2010-03-16 15:03:41 +00:00
NSCharacterSetData.h OSX compatibility update for newline character set. 2010-01-09 07:45:18 +00:00
NSClassDescription.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSCoder.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSConcreteHashTable.m various minor bugfixes 2010-05-29 06:42:38 +00:00
NSConcreteMapTable.m compatibility and portability fixes. 2010-02-25 10:00:48 +00:00
NSConcretePointerFunctions.h more gc fixups 2009-04-17 08:12:52 +00:00
NSConcretePointerFunctions.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSConnection.m Attempt leak fix 2010-04-15 16:27:23 +00:00
NSCopyObject.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSCountedSet.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSData.m attempt fix for bug 29920 2010-05-29 08:05:03 +00:00
NSDate.m minor tweaks 2010-03-04 08:25:52 +00:00
NSDateFormatter.m Build with non-fragile ivars. 2010-02-24 10:23:47 +00:00
NSDebug.m generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
NSDecimal.m Simplify source by usuing autoconf 2010-06-12 07:19:26 +00:00
NSDecimalNumber.m Simplify source by usuing autoconf 2010-06-12 07:19:26 +00:00
NSDictionary.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSDistantObject.m Fix the return type of NSDistantObject +autorelease to return id, not void. Type-dependent dispatch in libobjc2 discovered that some things are picking up this method signature by accident and calling NSObject's -autorelease with the wrong types. 2010-08-31 22:02:38 +00:00
NSDistributedLock.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSDistributedNotificationCenter.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSEnumerator.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSError.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSException.m Fix build with libobjc2. 2010-07-15 09:59:01 +00:00
NSFileHandle.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSFileManager.m coding standard tweaks 2010-06-22 17:44:51 +00:00
NSFormatter.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSGarbageCollector.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSGeometry.m more header reorganisation 2010-02-25 08:36:34 +00:00
NSHashTable.m various minor bugfixes 2010-05-29 06:42:38 +00:00
NSHost.m generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
NSHTTPCookie.m Correct format syntax 2010-03-14 19:05:57 +00:00
NSHTTPCookieStorage.m fix includes to iumports 2010-03-10 14:53:51 +00:00
NSIndexPath.m zero self after dealloc if we are going to call another method. 2010-03-04 12:24:43 +00:00
NSIndexSet.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSInvocation.m update NSPage functions for windows 2010-06-17 19:08:08 +00:00
NSKeyedArchiver.m Fix for NOB generation 2010-08-18 12:34:56 +00:00
NSKeyedUnarchiver.m add workaround for buggy solaris systems 2010-06-29 07:02:27 +00:00
NSKeyValueCoding.m use new runtime api directly to lookup selectors 2010-08-18 10:45:27 +00:00
NSKeyValueMutableArray.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSKeyValueMutableSet.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSKeyValueObserving.m use new runtime api for setter methods 2010-03-04 17:33:01 +00:00
NSLocale.m Make NSLocale use information about libicu availablity (perviously, it would 2010-07-19 07:54:52 +00:00
NSLock.m Simplify source by usuing autoconf 2010-06-12 07:19:26 +00:00
NSLog.m generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
NSMapTable.m compatibility and portability fixes. 2010-02-25 10:00:48 +00:00
NSMessagePort.m fix retain/release errors 2010-02-26 06:53:47 +00:00
NSMessagePortNameServer.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSMethodSignature.m include malloc.h for alloc() on platforms where it isn't in alloca.h 2010-03-16 06:11:00 +00:00
NSNetServices.m Make base build again after the previous avahi-patch. 2010-07-13 10:59:41 +00:00
NSNotification.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSNotificationCenter.m further cleanup ... always use -zone method to get an object's zone ... 2010-03-05 09:30:18 +00:00
NSNotificationQueue.m improve comments 2010-08-17 07:35:20 +00:00
NSNull.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSNumber.m Fix for NOB generation 2010-08-18 12:34:56 +00:00
NSNumberFormatter.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSNumberMethods.h Make NSNumber more like OSX ... retain for copy, and return YES/NO as BOOL 2010-02-19 19:23:03 +00:00
NSObjCRuntime.m register new selector as needed. 2010-08-17 18:38:00 +00:00
NSObject+NSComparisonMethods.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSObject.m Improve the efficiency of NSObject's methodSignatureForSelector by: 2010-09-02 15:17:46 +00:00
NSOperation.m inon-fragile ivar update 2010-02-26 11:04:14 +00:00
NSPage.m update NSPage functions for windows 2010-06-17 19:08:08 +00:00
NSPathUtilities.m fixups for windows api bugs 2010-07-21 08:24:32 +00:00
NSPipe.m generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
NSPointerArray.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSPointerFunctions.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSPort.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSPortCoder.m deprecates some gnustep runtime wrappers 2010-02-22 10:13:20 +00:00
NSPortMessage.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSPortNameServer.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSPredicate.m Move includes to NSObjCRuntime.h to match OSX 2010-02-20 18:32:07 +00:00
NSProcessInfo.m improve comments 2010-06-09 15:19:01 +00:00
NSPropertyList.m 64bit cleanup 2010-06-16 06:59:19 +00:00
NSProtocolChecker.m avoid some compiler warnings 2010-08-10 10:38:50 +00:00
NSProxy.m better cope with null selectors. 2010-08-17 18:36:46 +00:00
NSRange.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSRunLoop.m avoid some compiler warnings 2010-08-10 10:38:50 +00:00
NSScanner.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSSerializer.m more header reorganisation 2010-02-25 08:36:34 +00:00
NSSet.m fix bad return value for NSMutableSet-classForCoder 2010-06-28 14:35:44 +00:00
NSSocketPort.m generalize define from __MINGW32__ to __MINGW__ 2010-03-19 12:10:11 +00:00
NSSocketPortNameServer.m fixup option to control installation of gdomap 2010-06-10 09:51:40 +00:00
NSSortDescriptor.m more header reorganisation 2010-02-25 08:36:34 +00:00
NSSpellServer.m When checking whether a word is in the user dictionary, make sure that 2010-02-22 20:09:51 +00:00
NSString.m Revert/fix handling of -isEqualToString: for proxies and subclasses. 2010-07-22 06:06:39 +00:00
NSTask.m fix typo 2010-08-31 10:34:23 +00:00
NSThread.m locking tweak 2010-08-30 19:16:30 +00:00
NSTimer.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSTimeZone.m Improve detection of timezone on some systems. 2010-06-16 10:45:58 +00:00
nstzfile.h * configure.ac: Check for tzfile.h 2004-10-11 03:08:54 +00:00
NSUnarchiver.m check for loss of data on decoding 2010-03-09 10:09:01 +00:00
NSUndoManager.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSURL.m Implement keyed coding for NSURL. 2010-06-25 13:38:06 +00:00
NSURLAuthenticationChallenge.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSURLCache.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSURLConnection.m further cleanup ... always use -zone method to get an object's zone ... 2010-03-05 09:30:18 +00:00
NSURLCredential.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSURLCredentialStorage.m fixups for libobjc2 2010-02-25 18:49:31 +00:00
NSURLDownload.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSURLHandle.m build additions with NO_GNUSTEP=1 2010-02-26 08:39:47 +00:00
NSURLProtectionSpace.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSURLProtocol.m avoid some compiler warnings 2010-08-10 10:38:50 +00:00
NSURLRequest.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSURLResponse.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSUserDefaults.m tweak warning 2010-06-19 10:48:21 +00:00
NSValue.m add new coding version for 64bit 2010-03-16 13:03:36 +00:00
NSValueTransformer.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSXMLDocument.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSXMLDTD.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSXMLDTDNode.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSXMLElement.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSXMLNode.m Simplify header inclusion 2010-02-19 08:12:46 +00:00
NSXMLParser.m various minor bugfixes 2010-05-29 06:42:38 +00:00
NSXMLPrivate.h merge back reorganisation branch 2010-02-14 10:48:10 +00:00
NSZone.m Simplify source by usuing autoconf 2010-06-12 07:19:26 +00:00
null-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
objc-load.h Simplify source by usuing autoconf 2010-06-12 07:19:26 +00:00
objc-load.m Don't call __objc_resolve_class_links() if using the GNUstep runtime. 2010-09-01 16:13:44 +00:00
preface.m Attempt to integrate Niels Grewe's avahi code 2010-07-13 10:35:13 +00:00
simple-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
win32-def.top allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
win32-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00