ObjFW  Check-in [f2f4062b53]

Overview
Comment:Better way to cache OFAutoreleasePool.
This way, the tests work again with static linking.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: f2f4062b53fe5a34f6fdff7cb52c3f9569821a909f4e813faaefeb4dc0bc8387
User & Date: js on 2010-08-25 22:05:49
Other Links: manifest | tags
Context
2010-08-25
22:12
Remove @ATOMIC_OBJCFLAGS@. check-in: 8ba0c30a03 user: js tags: trunk
22:05
Better way to cache OFAutoreleasePool.
This way, the tests work again with static linking.
check-in: f2f4062b53 user: js tags: trunk
21:35
Assembly implementation for atomic operations (x86 and AMD64). check-in: bd2eef5fe1 user: js tags: trunk
Changes

Modified src/OFObject.m from [b60749cd23] to [f4894aef60].

124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
124
125
126
127
128
129
130

131
132
133
134
135
136
137







-







	GetSystemInfo(&si);
	of_pagesize = si.dwPageSize;
#endif
}

+ (void)initialize
{
	autoreleasepool = [OFAutoreleasePool class];
}

+ alloc
{
	OFObject *instance;
	size_t isize = class_getInstanceSize(self);

616
617
618
619
620
621
622







623
624
625
626
627
628
629
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635







+
+
+
+
+
+
+







	if (!c)
		[self dealloc];
#endif
}

- autorelease
{
	/*
	 * Cache OFAutoreleasePool since class lookups are expensive with the
	 * GNU runtime.
	 */
	if (autoreleasepool == Nil)
		autoreleasepool = [OFAutoreleasePool class];

	[autoreleasepool addObjectToTopmostPool: self];

	return self;
}

- (void)dealloc
{