ObjFW  Check-in [7fbf13845b]

Overview
Comment:Add autorelease.h and export functions.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 7fbf13845b0bb5792ebb456df0951526248c3cf7c3eabad193a38926f6281f78
User & Date: js on 2012-08-07 08:35:17
Other Links: manifest | tags
Context
2012-08-07
08:36
Move objc_autorelease() to arc.m. check-in: 19f4701ed3 user: js tags: trunk
08:35
Add autorelease.h and export functions. check-in: 7fbf13845b user: js tags: trunk
2012-08-06
20:46
Add --arc to objfw-compile and objfw-config. check-in: 5d2b804601 user: js tags: trunk
Changes

Modified src/Makefile from [8a2cc0ae9c] to [20b6485f64].

58
59
60
61
62
63
64

65
66
67
68
69
70
71
       OFXMLComment.m			\
       OFXMLElement.m			\
       OFXMLElement+Serialization.m	\
       OFXMLElementBuilder.m		\
       OFXMLNode.m			\
       OFXMLParser.m			\
       OFXMLProcessingInstructions.m	\

       base64.m				\
       of_asprintf.m			\
       of_strptime.m			\
       unicode.m

INCLUDES := ${SRCS:.m=.h}		\
	    OFCollection.h		\







>







58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
       OFXMLComment.m			\
       OFXMLElement.m			\
       OFXMLElement+Serialization.m	\
       OFXMLElementBuilder.m		\
       OFXMLNode.m			\
       OFXMLParser.m			\
       OFXMLProcessingInstructions.m	\
       ${AUTORELEASE_M}			\
       base64.m				\
       of_asprintf.m			\
       of_strptime.m			\
       unicode.m

INCLUDES := ${SRCS:.m=.h}		\
	    OFCollection.h		\
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
	OFSet_hashtable.m		\
	${OFSTREAMOBSERVER_KQUEUE_M}	\
	${OFSTREAMOBSERVER_POLL_M}	\
	${OFSTREAMOBSERVER_SELECT_M}	\
	OFString_UTF8.m			\
	OFTCPSocket+SOCKS5.m		\
	${ASPRINTF_M}			\
	${AUTORELEASE_M}		\
	${FOUNDATION_COMPAT_M}		\
	iso_8859_15.m			\
	windows_1252.m

OBJS_EXTRA = ${EXCEPTIONS_EXCEPTIONS_A} ${RUNTIME_RUNTIME_A}
LIB_OBJS_EXTRA = ${EXCEPTIONS_EXCEPTIONS_LIB_A} ${RUNTIME_RUNTIME_LIB_A}

include ../buildsys.mk

CPPFLAGS += -I. -I.. -Iexceptions -Iruntime
LD = ${OBJC}
LDFLAGS += ${REEXPORT_LIBOBJC} ${MACH_ALIAS_LIST}







<












91
92
93
94
95
96
97

98
99
100
101
102
103
104
105
106
107
108
109
	OFSet_hashtable.m		\
	${OFSTREAMOBSERVER_KQUEUE_M}	\
	${OFSTREAMOBSERVER_POLL_M}	\
	${OFSTREAMOBSERVER_SELECT_M}	\
	OFString_UTF8.m			\
	OFTCPSocket+SOCKS5.m		\
	${ASPRINTF_M}			\

	${FOUNDATION_COMPAT_M}		\
	iso_8859_15.m			\
	windows_1252.m

OBJS_EXTRA = ${EXCEPTIONS_EXCEPTIONS_A} ${RUNTIME_RUNTIME_A}
LIB_OBJS_EXTRA = ${EXCEPTIONS_EXCEPTIONS_LIB_A} ${RUNTIME_RUNTIME_LIB_A}

include ../buildsys.mk

CPPFLAGS += -I. -I.. -Iexceptions -Iruntime
LD = ${OBJC}
LDFLAGS += ${REEXPORT_LIBOBJC} ${MACH_ALIAS_LIST}

Modified src/OFAutoreleasePool.m from [6cf9fdd824] to [d255c7767f].

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#import "macros.h"
#ifndef OF_COMPILER_TLS
# import "threading.h"

# import "OFInitializationFailedException.h"
#endif

extern id _objc_rootAutorelease(id);
extern void* objc_autoreleasePoolPush(void);
extern void objc_autoreleasePoolPop(void*);

#ifdef OF_COMPILER_TLS
static __thread void *first = NULL;
#else
static of_tlskey_t firstKey;
#endif








|
<
<







26
27
28
29
30
31
32
33


34
35
36
37
38
39
40
#import "macros.h"
#ifndef OF_COMPILER_TLS
# import "threading.h"

# import "OFInitializationFailedException.h"
#endif

#import "autorelease.h"



#ifdef OF_COMPILER_TLS
static __thread void *first = NULL;
#else
static of_tlskey_t firstKey;
#endif

Modified src/ObjFW.h from [d4c97a2a17] to [83c87b8540].

135
136
137
138
139
140
141

142
143
144
145

#ifdef OF_THREADS
# import "OFThread.h"
# import "OFThreadPool.h"
# import "threading.h"
#endif


#import "asprintf.h"
#import "base64.h"
#import "of_asprintf.h"
#import "of_strptime.h"







>




135
136
137
138
139
140
141
142
143
144
145
146

#ifdef OF_THREADS
# import "OFThread.h"
# import "OFThreadPool.h"
# import "threading.h"
#endif

#import "autorelease.h"
#import "asprintf.h"
#import "base64.h"
#import "of_asprintf.h"
#import "of_strptime.h"

Added src/autorelease.h version [d4847c3084].



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
 * Copyright (c) 2008, 2009, 2010, 2011, 2012
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of ObjFW. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE.QPL included in
 * the packaging of this file.
 *
 * Alternatively, it may be distributed under the terms of the GNU General
 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

#ifdef __cplusplus
extern "C" {
#endif
extern void* objc_autoreleasePoolPush();
extern void objc_autoreleasePoolPop(void*);
extern id _objc_rootAutorelease(id object);
#ifdef __cplusplus
}
#endif

Modified src/autorelease.m from [af6605d688] to [a03265b4d8].

21
22
23
24
25
26
27


28
29
30
31
32
33
34

#import "OFObject.h"

#ifndef OF_COMPILER_TLS
# import "threading.h"
#endif
#import "macros.h"



#ifdef OF_COMPILER_TLS
static __thread id *objects = NULL;
static __thread id *top = NULL;
static __thread size_t size = 0;
#else
static of_tlskey_t objectsKey, topKey, sizeKey;







>
>







21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

#import "OFObject.h"

#ifndef OF_COMPILER_TLS
# import "threading.h"
#endif
#import "macros.h"

#import "autorelease.h"

#ifdef OF_COMPILER_TLS
static __thread id *objects = NULL;
static __thread id *top = NULL;
static __thread size_t size = 0;
#else
static of_tlskey_t objectsKey, topKey, sizeKey;