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
	GetSystemInfo(&si);
	of_pagesize = si.dwPageSize;
#endif
}

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

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








<







124
125
126
127
128
129
130

131
132
133
134
135
136
137
	GetSystemInfo(&si);
	of_pagesize = si.dwPageSize;
#endif
}

+ (void)initialize
{

}

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

616
617
618
619
620
621
622







623
624
625
626
627
628
629
	if (!c)
		[self dealloc];
#endif
}

- autorelease
{







	[autoreleasepool addObjectToTopmostPool: self];

	return self;
}

- (void)dealloc
{







>
>
>
>
>
>
>







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
{