Overview
Comment: | Add forwardingTargetForSelector: for AMD64/ELF.
Currently, no methods returning structs are supported, see the comment |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
5a6cc94418ebec9def834401dfc54a5f |
User & Date: | js on 2013-03-16 10:13:47 |
Other Links: | manifest | tags |
Context
2013-03-17
| ||
15:23 | Add -[OFHTTPRequestReply string]. check-in: 0a1b06a6bf user: js tags: trunk | |
2013-03-16
| ||
10:13 | Add forwardingTargetForSelector: for AMD64/ELF. check-in: 5a6cc94418 user: js tags: trunk | |
2013-03-15
| ||
17:04 | OFHTTPClient: Implement "Connection: keep-alive". check-in: c195c1f098 user: js tags: trunk | |
Changes
Modified configure.ac from [1c32db1157] to [11985b8c37].
︙ | |||
202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | + + + | #if defined(__amd64__) || defined(__x86_64__) # ifdef __ELF__ yes # endif #endif ], [ AC_SUBST(LOOKUP_S, lookup-amd64-elf.S) AC_SUBST(FORWARDING_S, forwarding-amd64-elf.S) AC_DEFINE(OF_ASM_LOOKUP, 1, [Whether to use assembly for lookup]) AC_DEFINE(OF_HAVE_FORWARDING_TARGET_FOR_SELECTOR, 1, [Whether we have forwardingTargetForSelector:]) ], [ AC_EGREP_CPP(yes, [ #if defined(__i386__) && defined(__ELF__) yes #endif ], [ AC_SUBST(LOOKUP_S, lookup-x86-elf.S) |
︙ | |||
267 268 269 270 271 272 273 | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | + + + - + + + | AC_CHECK_LIB(objc, objc_msgSend, [ LIBS="-lobjc $LIBS" ], [ AC_MSG_ERROR([libobjc not found!]) ]) dnl We should check for PPC64, as this currently does not dnl support forwardingTargetForSelector: as there is no test dnl machine available. |
︙ |
Modified extra.mk.in from [156a88b3a2] to [ee1481108e].
︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | + | AUTORELEASE_M = @AUTORELEASE_M@ BIN_PREFIX = @BIN_PREFIX@ BRIDGE = @BRIDGE@ EXCEPTIONS_A = @EXCEPTIONS_A@ EXCEPTIONS_EXCEPTIONS_A = @EXCEPTIONS_EXCEPTIONS_A@ EXCEPTIONS_EXCEPTIONS_LIB_A = @EXCEPTIONS_EXCEPTIONS_LIB_A@ EXCEPTIONS_LIB_A = @EXCEPTIONS_LIB_A@ FORWARDING_S = @FORWARDING_S@ FOUNDATION_COMPAT_M = @FOUNDATION_COMPAT_M@ INSTANCE_M = @INSTANCE_M@ LOOKUP_S = @LOOKUP_S@ OFBLOCKTESTS_M = @OFBLOCKTESTS_M@ OFSTREAMOBSERVER_KQUEUE_M = @OFSTREAMOBSERVER_KQUEUE_M@ OFSTREAMOBSERVER_POLL_M = @OFSTREAMOBSERVER_POLL_M@ OFSTREAMOBSERVER_SELECT_M = @OFSTREAMOBSERVER_SELECT_M@ |
︙ |
Modified src/Makefile from [4e8a943706] to [ba9ed93830].
︙ | |||
112 113 114 115 116 117 118 | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | - + | OFMutableString_UTF8.m \ OFSet_hashtable.m \ ${OFSTREAMOBSERVER_KQUEUE_M} \ ${OFSTREAMOBSERVER_POLL_M} \ ${OFSTREAMOBSERVER_SELECT_M} \ OFString_UTF8.m \ OFTCPSocket+SOCKS5.m \ |
︙ |
Modified src/OFObject.m from [2d5ba7013a] to [6922597523].
︙ | |||
59 60 61 62 63 64 65 | 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | - + + + + + + + + + + + | #import "instance.h" #if defined(OF_HAVE_ATOMIC_OPS) # import "atomic.h" #elif defined(OF_HAVE_THREADS) # import "threading.h" #endif |
︙ | |||
156 157 158 159 160 161 162 163 164 165 166 167 168 169 | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | + + + + + + + + + + | sel_getName(sel)); abort(); } return objc_msg_lookup(obj, sel); } } #ifdef OF_HAVE_FORWARDING_TARGET_FOR_SELECTOR if (class_respondsToSelector(object_getClass(obj), @selector(forwardingTargetForSelector:))) { id target = [obj forwardingTargetForSelector: sel]; if (target != nil && target != obj) return (IMP)of_forward; } #endif of_method_not_found(obj, sel); return NULL; } #endif #ifndef HAVE_OBJC_ENUMERATIONMUTATION |
︙ |
Added src/forwarding-amd64-elf.S version [d81347873d].