Commit graph

44 commits

Author SHA1 Message Date
rfm
af084a115a Imprivemewnts to get NS_MESSAGE and NS_INVOCATION working for FFI.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26733 72102866-910b-0410-8b05-ffd578937521
2008-06-30 05:29:19 +00:00
rfm
703aff6ef5 Tidy executable memory support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26731 72102866-910b-0410-8b05-ffd578937521
2008-06-29 18:44:41 +00:00
rfm
eb7aa72cb1 Add windows memory protection code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26730 72102866-910b-0410-8b05-ffd578937521
2008-06-29 18:33:59 +00:00
rfm
070482eebc Improve code for making executable memory
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26727 72102866-910b-0410-8b05-ffd578937521
2008-06-29 09:18:33 +00:00
rfm
721a6881f8 More portable anonymous mmap
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26725 72102866-910b-0410-8b05-ffd578937521
2008-06-28 20:30:54 +00:00
rfm
848c550ae7 Try to ensure that ffi uses executable memory and doesn't segfault
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26723 72102866-910b-0410-8b05-ffd578937521
2008-06-28 05:13:47 +00:00
rfm
e0711a3b8d allow developers more time to adapt to LGPLv3
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26606 72102866-910b-0410-8b05-ffd578937521
2008-06-08 10:38:33 +00:00
rfm
3aa7189ddb Improve MacOS-X compatibility of headers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25638 72102866-910b-0410-8b05-ffd578937521
2007-11-29 20:53:26 +00:00
rfm
cd46236028 Update to GPL3 and LGPL3
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25482 72102866-910b-0410-8b05-ffd578937521
2007-09-14 11:36:11 +00:00
rfm
aa685d6550 Some tweaks for invocations and for networking.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25140 72102866-910b-0410-8b05-ffd578937521
2007-05-11 08:26:59 +00:00
rfm
ded19f3ec1 more work on hding external symbols and simplifying.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23890 72102866-910b-0410-8b05-ffd578937521
2006-10-16 09:30:18 +00:00
rfm
564d97ceed Add cast to avoid bogus gcc-4.1 warning.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23125 72102866-910b-0410-8b05-ffd578937521
2006-07-04 20:27:04 +00:00
rfm
7d3f438da0 Various bugfixes, portability fixes, and optimisations.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22576 72102866-910b-0410-8b05-ffd578937521
2006-02-27 09:35:19 +00:00
fedor
376e495dad * Update FSF Address.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21245 72102866-910b-0410-8b05-ffd578937521
2005-05-22 03:32:16 +00:00
CaS
0708409c1b Tidy up use of white space so we have it after if/for/while and not after (
or before ) or padding at end of line.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20773 72102866-910b-0410-8b05-ffd578937521
2005-02-22 11:22:44 +00:00
ayers
3a3f23c0e7 * Source/GSFFCallInvocation.m
* Source/GSFFIInvocation.m (gs_protocol_selector): Skip '-'
        for negative offsets to avoid issues with pre gcc 3.4 generated
        signatures.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19975 72102866-910b-0410-8b05-ffd578937521
2004-09-02 16:35:44 +00:00
ayers
b803fe27a6 * Headers/Foundation/NSMethodSignature.h:
(NSArgumentInfo): Document limitations of NSArgumentInfo's
        offset and registier information.  Match size for NO_GNUSTEP.
        (NSMethodSignature): Match ivar name with runtime information.

        * Source/GSFFCallInvocation.m
        * Source/GSFFIInvocation.m
        * Source/NSInvocation.m
        (gs_method_for_receiver_and_selector)
        ([-invokeWithTarget:]): Use GSGetMethod instead of deprecated
        GSGetInstanceMethod and GSGetClassMethod.
        * Source/NSConnection.m ([-_service_typeForSelector]): Ditto.
        * Source/NSDistantObject.m ([+respondsToSelector]): Ditto.
        * Source/NSObject.m ([+instanceMethodSignatureForSelector:])
        ([-methodSignatureForSelector:])
        ([+descriptionForInstanceMethod], [-descriptionForMethod]): Ditto.
        * Source/NSProtocolChecker.m ([-methodSignatureForSelector]): Ditto.
        * Source/NSProxy.m ([+methodSignatureForSelector])
        ([-methodSignatureForSelector]): Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19896 72102866-910b-0410-8b05-ffd578937521
2004-08-20 17:53:16 +00:00
ayers
eb84dff7b8 * Headers/Additions/GNUstepBase/GSObjCRuntime.h
* Source/Additions/GSObjCRuntime.m (GSSelectorTypesMatch):
        New Function.
        (gs_skip_type_qualifier_and_layout_info): Ditto.

        * Source/callframe.m (callframe_do_call): Use
	GSSelectorTypesMatch instead of sel_types_match.
        * Source/cifframe.m (cifframe_do_call): Ditto.
        * Source/mframe.m (mframe_do_call): Ditto.

        * Source/GSFFCallInvocation.m (GSInvocationCallback): Use
        NSDebugFLog to NSWarnFLog.
        * Source/GSFFIInvocation.m (GSFFIInvocationCallback): Ditto.

        * Testing/nsmethodsignature.m: Use GSSelectorTypesMatch
	instead of sel_types_match.  Test it.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19886 72102866-910b-0410-8b05-ffd578937521
2004-08-19 16:19:48 +00:00
ayers
0fe2082695 * Headers/Foundation/NSMethodSignature.h
* Source/NSMethodSignature.m
        * Source/GSFFCallInvocation.m
        * Source/GSFFIInvocation.m: Revert last mframe patch.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19667 72102866-910b-0410-8b05-ffd578937521
2004-07-02 08:04:54 +00:00
ayers
dbe1800bbd * Headers/Foundation/NSMethodSignature.h
(_internalMethodTypes): New instance variable.
        * Source/NSMethodSignature.m: ([+signatureWithObjCTypes]): Store
        the runtime signature separately from the mframe signature.
        Document.
        ([-dealloc]): Free new instance variable.
        ([-methodInfo]): Use _internalMethodTypes to build argument
        information.

        * Source/GSFFCallInvocation.m (GSInvocationCallback)
        * Source/GSFFIInvocation.m (GSInvocationCallback): Use the
        selector registered in the runtime for the receiver instead of
        the constructed selector from the stack to avoid mismatches in the
        runtime.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19662 72102866-910b-0410-8b05-ffd578937521
2004-07-01 11:38:19 +00:00
wim
b08f66b87a (GSInvocationCallback): Try to find type information
if not available, also changes wording of exception when no type information is found.
(Fixes #8654)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19190 72102866-910b-0410-8b05-ffd578937521
2004-04-26 07:51:35 +00:00
ayers
38143e6e56 Various GSObjCRuntime usage cleanups.
See ChangeLog for details.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17533 72102866-910b-0410-8b05-ffd578937521
2003-08-24 23:07:41 +00:00
ayers
73dc4cb9f6 Header reorganizsateion - Please refer to ChangeLog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17407 72102866-910b-0410-8b05-ffd578937521
2003-07-31 23:49:32 +00:00
CaS
02aace51b0 Tidyups etc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17380 72102866-910b-0410-8b05-ffd578937521
2003-07-28 10:53:18 +00:00
CaS
db0baccb2e Tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17163 72102866-910b-0410-8b05-ffd578937521
2003-07-07 05:11:16 +00:00
CaS
383e71072f DO type info fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17102 72102866-910b-0410-8b05-ffd578937521
2003-07-04 15:11:15 +00:00
CaS
a9a9958dfd Add a couple of warning logs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17097 72102866-910b-0410-8b05-ffd578937521
2003-07-04 10:52:56 +00:00
CaS
df90a32ded Fix for fetching type information from remote system.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17095 72102866-910b-0410-8b05-ffd578937521
2003-07-04 09:33:53 +00:00
ayers
00981688aa * Source/GSFFCallInvocation.m
(gs_method_for_receiver_and_selector): Replace usage of
        class_get_instance/class_method with GSGetInstance/ClassMethod and
        Method_t with GSMethod.
        (gs_find_by_receiver_best_typed_sel): Ditto.
        (GSInvocationCallback): Ditto.
        ([GSFFCallInvocation -invokeWithTarget:]): Ditto.
        * Source/GSFFIInvocation.m
        (gs_method_for_receiver_and_selector): Ditto.
        (gs_find_by_receiver_best_typed_sel): Ditto.
        (GSFFIInvocationCallback): Ditto.
        ([GSFFIInvocation -invokeWithTarget:]): Ditto.
        * Source/NSConnection.m
        ([NSConnection -_service_typeForSelector:]): Ditto.
        * Source/NSInvocation.m
        ([NSInvocation -invokeWithTarget:]): Ditto.
        * Source/NSObject.m
        ([NSObject +instanceMethodSignatureForSelector:]): Ditto.
        ([NDObject -methodSignatureForSelector:]): Ditto.
        ([NSObject +descriptionForInstanceMethod:]): Ditto.
        ([NSOnject -descriptionForMethod:]: Ditto.
        * Source/NSProxy.m
        ([NSProxy +methodSignatureForSelector:]): Ditto.
        ([NSProxy -methodSignatureForSelector:]): Ditto.
        * Source/NSDistantObject.m
        ([NSObject -selectorTypeForProxy:]): Ditto.
        ([NSDistantObject +respondsToSelector:]): Ditto. Corrected
        implementation to check class methods instead of instance methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17016 72102866-910b-0410-8b05-ffd578937521
2003-06-25 10:26:29 +00:00
fedor
0e59d4552d Change syntax of includes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16874 72102866-910b-0410-8b05-ffd578937521
2003-06-07 01:24:41 +00:00
CaS
cc098b74c2 Merged in 1.6.0 branch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16228 72102866-910b-0410-8b05-ffd578937521
2003-03-23 07:06:27 +00:00
CaS
57c0ece231 MInor tidyup.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16105 72102866-910b-0410-8b05-ffd578937521
2003-03-02 07:47:18 +00:00
fedor
c5a763be4c Fix but in forwarded object return
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15985 72102866-910b-0410-8b05-ffd578937521
2003-02-17 05:06:02 +00:00
fedor
1f7b60b370 Fix bug in to avoid reference to demalloced return pointer in closure
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15984 72102866-910b-0410-8b05-ffd578937521
2003-02-17 04:40:20 +00:00
CaS
b30484a6c0 Invocation fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15873 72102866-910b-0410-8b05-ffd578937521
2003-02-04 18:18:47 +00:00
fedor
b8e7170255 Merge from 1.4.0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14208 72102866-910b-0410-8b05-ffd578937521
2002-07-29 19:37:40 +00:00
fedor
f291bf04fb Typo fix allocating closure
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13775 72102866-910b-0410-8b05-ffd578937521
2002-06-05 03:57:03 +00:00
fedor
03893561ee Hack for bug in gcc 3.1
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13774 72102866-910b-0410-8b05-ffd578937521
2002-06-05 03:51:12 +00:00
fedor
13c0170d26 Free closure via NSData
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13533 72102866-910b-0410-8b05-ffd578937521
2002-04-24 03:32:50 +00:00
fedor
6a90d806a3 Correct FFI value setting
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13532 72102866-910b-0410-8b05-ffd578937521
2002-04-24 03:12:55 +00:00
fedor
d88dda825c Libffi support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13506 72102866-910b-0410-8b05-ffd578937521
2002-04-18 16:02:12 +00:00
CaS
c7b827b21e Invocation related fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12566 72102866-910b-0410-8b05-ffd578937521
2002-02-20 05:08:46 +00:00
CaS
d7e28f6deb Many minor fixes for autogsdoc.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11787 72102866-910b-0410-8b05-ffd578937521
2001-12-17 14:31:42 +00:00
fedor
948cbdcbb3 Add FFI interface to NSInvocation and NSConnection
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@8286 72102866-910b-0410-8b05-ffd578937521
2000-12-08 19:06:00 +00:00