allows <objects/objc-malloc.h> to be include in non-ObjC files, i.e. C
files.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1380 72102866-910b-0410-8b05-ffd578937521
firstObject is minimum instead of maximum object.
([Heap -addObject:]): Likewise.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1371 72102866-910b-0410-8b05-ffd578937521
object.
([NSGDictionary -objectForKey:]): Method moved from
NSGMutableDictionary.
([NSGMutableDictionary +initialize]): Don't use static variable in
test.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1370 72102866-910b-0410-8b05-ffd578937521
name to see if object has already been encoded.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1365 72102866-910b-0410-8b05-ffd578937521
ANOBJPTR is NULL, and deal with it using a DUMMY_OBJECT local variable.
Remove CODER_OBJECT_FORWARD_SATISFIER case. In the CODER_OBJECT case,
decode the forward reference number, and deal with it appropriately.
See the ChangeLog comments for the Encoder changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1359 72102866-910b-0410-8b05-ffd578937521
if object satisfies a forward reference *after* encoding it. This is
necessary because the encoding of subobjects may generate forward
references. (In a sense, this undoes the last change, but it is
significantly different in that we test whether the object is in the
object_2_fref table *after* encoding the object; before we looked in
the table before encoding the object.) As a consequence,
the CODER_OBJECT_FORWARD_SATISFIER tag is no longer necessary; this
was used to tag an object before it was encoded, but now we understand
that we cannot know whether this object satisfies a forward reference
until after it has been encoded. Thus, for all objects we encode an
unsigned int after encoding the object itself. This unsigned int is
either the forward reference number of zero, depending on whether this
object satisfies any forward references.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1358 72102866-910b-0410-8b05-ffd578937521
longer needed. Note: decoders built after this change will not be
able to read data files encoded before this change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1357 72102866-910b-0410-8b05-ffd578937521
this object satisfies a forward reference, remove it from the
object_2_fref table before encoding the object, since, in the process
of encoding the object, we may generate more references to this
object, and we don't want to interpret this as another forward
reference satisfier; previously an object could get encoded as a
forward reference satisfier more than once.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1355 72102866-910b-0410-8b05-ffd578937521
references have unique names. Previous use of the MapTable count
for this purpose didn't work because we occasionally removed elements
from the table, and thus had aliased forward reference numbers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1354 72102866-910b-0410-8b05-ffd578937521
and send -setLinkedList:, otherwise the links don't properly know
about their parent LinkedList.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1352 72102866-910b-0410-8b05-ffd578937521
:cStreamFormatVersion:]): Initialize new ivar.
([Encoder -_coderCreateForwardReferenceForObject:]): Use new ivar to
`gensym' a new forward reference.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1351 72102866-910b-0410-8b05-ffd578937521
fref_2_object with NSNonOwnedPointerMapValueCallBacks, not
NSObjectMapValueCallBacks.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1350 72102866-910b-0410-8b05-ffd578937521
now objc-malloc.h cannot be included in .c files, only .m files.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1348 72102866-910b-0410-8b05-ffd578937521
current pool, and setting our parent to be the current pool, be sure
to set our parent's _CHILD ivar to nil.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1340 72102866-910b-0410-8b05-ffd578937521
class_get_instance_method() to get the selector type.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1339 72102866-910b-0410-8b05-ffd578937521
object->class_pointer, not object_get_class(), because
object_get_class() of a class will return the argument, not the
metaclass---we want the metaclass.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1337 72102866-910b-0410-8b05-ffd578937521
INADDR_ANY, (not the host's address), so that others can connect using
any of the host's interfaces, including localhost. Add the host's
address to _LISTENING_ADDRESS after the bind().
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1336 72102866-910b-0410-8b05-ffd578937521
(Reported by Robert Quillen <rquillen@csugrad.cs.vt.edu>).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1335 72102866-910b-0410-8b05-ffd578937521
Add more explanation to NSCAssert().
(class_add_behavior): New function, calling above function.
(behavior_class_add_category): New function.
(behavior_class_add_methods): Function renamed from
class_add_methods_if_not_there.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1325 72102866-910b-0410-8b05-ffd578937521
once and for all, avoid the need for those odd [super ...] calls, and
can remove many methods.
([NSGArray -initWithObjects:count:]): Method removed.
([NSGArray -indexOfObject:]): Method removed.
([NSGArray -objectAtIndex:]): Method removed.
([NSGMutableArray +initialize]): Add the NSMutableArrayNonCore
behavior, as above.
([NSGMutableArray -replaceObjectAtIndex:withObject:]): Method removed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1324 72102866-910b-0410-8b05-ffd578937521
NSArrayNonCore behavior to NSArray.
Divide methods between NSMutableArray and NSMutableArrayNonCore
classes. Add NSArrayNonCore behavior to NSArray.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1323 72102866-910b-0410-8b05-ffd578937521
(class_add_behavior): Use NSCAssert() to make sure that we don't try
to increase the instance size of a class that has been subclassed;
(hopeless ivar layout confusion would result).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1319 72102866-910b-0410-8b05-ffd578937521
leaks. Also improve efficiency by using a linked list of arrays
instead of realloc when more space is needed, and by using a cache of
pools that helps avoid the allocation/deallocation of pools.
(push_pool_to_cache): New function.
(pop_pool_from_cache): New function.
([NSAutoreleasePool +initialize]): New method.
([NSAutoreleasePool +allocWithZone:]): New method.
([NSAutoreleasePool -init]): Method overhauled to initialize new ivar
for handling exceptions, _child; also use pool cache.
(total_autoreleased_objects_count): New static variable.
(BEGINNING_POOL_SIZE): Macro renamed from DEFAULT_SIZE.
(autorelease_pool_cache, autorelease_pool_cache_size,
autorelease_pool_cache_count): New static variables.
([NSAutoreleasePool -_setChildPool:]): New method, handling stack and
dealing with exceptions.
([NSAutoreleasePool -addObject:]): Deal with linked list of arrays.
([NSAutoreleasePool -dealloc]): Deal with exceptions by releasing
child pools. Place self into the pool cache instead of deallocating.
([NSAutoreleasePool +resetTotalAutoreleasedObjects]): New method.
([NSAutoreleasePool +totalAutoreleasedObjects]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1311 72102866-910b-0410-8b05-ffd578937521