Commit graph

1447 commits

Author SHA1 Message Date
mccallum
0ebd08872c ([ConstantCollection -_decodeContentsWithCoder:]): Use alloca(), not
objc_malloc(), plugging memory leak.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1356 72102866-910b-0410-8b05-ffd578937521
1996-04-13 18:37:57 +00:00
mccallum
eba65f78eb ([Encode -_encodeObject:withName:isBycopy:isForwardReference:]): If
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
1996-04-13 17:49:22 +00:00
mccallum
94ed47bd55 (Encoder fref_counter): New ivar for guaranteeing that forward
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
1996-04-12 21:13:12 +00:00
mccallum
82098fd24f ([StdioStream -writeBytes:length:]): Check for error condition, and
report.  Reporting scheme needs fixing.
([StdioStream -readBytes:length:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1353 72102866-910b-0410-8b05-ffd578937521
1996-04-12 21:11:11 +00:00
mccallum
2332831d4f ([LinkedList -_decodeContentsWithCoder:]): Step through the new list,
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
1996-04-12 21:10:15 +00:00
mccallum
7e4f9c510e ([Encoder -initForWritingToStream:withFormatVersion:cStreamClass
: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
1996-04-12 21:09:24 +00:00
mccallum
38b8b74f50 ([Decoder -_coderSatisfyForwardReference:withObject:]): Create
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
1996-04-12 21:08:06 +00:00
mccallum
caf331e0e6 ([Encoder -_coderCreateForwardReferenceForObject:]): Initialize the
OBJECT_2_FREF ivar, if it hasn't been already.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1349 72102866-910b-0410-8b05-ffd578937521
1996-04-10 21:30:10 +00:00
mccallum
03d62d7e71 (MemoryExhaustedException): Declare this global variable; note that
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
1996-04-10 20:47:02 +00:00
mccallum
dce5dfe236 Changed from objc-malloc.c. Raise a MemoryExhaustedException with
NSException instead of calling objc_fatal.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1347 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:46:03 +00:00
mccallum
daea1ad502 File deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1346 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:30:35 +00:00
mccallum
e00daece59 Init some emacs variables.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1345 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:30:02 +00:00
mccallum
a12d8aba24 (GNU_CFILES): Removed objc-malloc.c.
(GNU_MFILES): Added objc-malloc.m.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1344 72102866-910b-0410-8b05-ffd578937521
1996-04-10 20:21:46 +00:00
mccallum
724e71f960 (GNUSTEP_MFILES): Added NSRunLoop.m.
(GNUSTEP_HEADERS): Added Foundation/NSRunLoop.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1343 72102866-910b-0410-8b05-ffd578937521
1996-04-10 18:21:47 +00:00
mccallum
c3e0f13a15 Declare classes NSDate and NSTimer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1342 72102866-910b-0410-8b05-ffd578937521
1996-04-10 18:21:12 +00:00
mccallum
3c5f1b1640 New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1341 72102866-910b-0410-8b05-ffd578937521
1996-04-10 18:20:36 +00:00
mccallum
7df9cb9436 ([NSAutoreleasePool -dealloc]): When unintalling ourselves at the
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
1996-04-10 16:40:25 +00:00
mccallum
272a2c30fd (mframe_do_call): Use sel_get_type() instead of
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
1996-04-10 16:37:30 +00:00
mccallum
4806ded1be *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1338 72102866-910b-0410-8b05-ffd578937521
1996-04-10 00:22:53 +00:00
mccallum
ea181197c4 (mframe_do_call): When getting the instance method, just use
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
1996-04-09 23:55:42 +00:00
mccallum
a2f9fe90a6 ([TcpInPort +newForReceivingFromPortNumber:]): Bind the socket with
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
1996-04-09 03:02:20 +00:00
mccallum
2cff25e764 ([NSDictionary -allKeysForObject:]): Ask SELF for objectForKey:, not K.
(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
1996-04-08 17:19:16 +00:00
mccallum
53c9fcbed6 *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1334 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:52:31 +00:00
mccallum
b6064633dc (ABS): Remove macro.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1333 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:52:12 +00:00
mccallum
2f75ee2a59 Declare @class NSMutableArrayNonCore, not NSMutableArray.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1332 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:51:33 +00:00
mccallum
49d377aca8 ([MappedCollector -nextObjectAndKey:withEnumState:]): Add comment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1331 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:50:55 +00:00
mccallum
2bb8922ce1 (main): Updated for new collection scheme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1330 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:42:06 +00:00
mccallum
e31f91035b ([MappedCollector -newEnumState]): New method.
([MappedCollector -freeEnumState:]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1329 72102866-910b-0410-8b05-ffd578937521
1996-04-01 02:41:44 +00:00
mccallum
fa05569ce8 (ABS): Remove macro; now defined in objects/stdobjects.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1328 72102866-910b-0410-8b05-ffd578937521
1996-03-31 23:15:12 +00:00
mccallum
9a4abde655 Declare new function names.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1327 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:46:59 +00:00
mccallum
5b640895e7 Add #ifndef/#endif wrapper around header file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1326 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:46:44 +00:00
mccallum
c20c905fe0 (behavior_class_add_class): Function renamed from class_add_behavior.
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
1996-03-31 22:46:14 +00:00
mccallum
ff771f9d6b ([NSGArray +initialize]): Add the NSArrayNonCore behavior, so we can,
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
1996-03-31 22:34:27 +00:00
mccallum
048f55528d Divide methods between NSArray and NSArrayNonCore classes. Add
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
1996-03-31 22:23:37 +00:00
mccallum
209321a123 Include <objects/Notification.h>
(NSNotification): Add placeholder ivars so our instance size matches
that of the behavior class that will be added.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1322 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:17:01 +00:00
mccallum
db8a9d42e3 (NSGArray, NSGMutableArray): Add placeholder ivars so our instance
size matches that of the behavior class that will be added.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1321 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:16:22 +00:00
mccallum
0e9363ac36 Separate core and non-core methods. Declare with @class the new
classes NSArrayNonCore and NSMutableArrayNonCore.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1320 72102866-910b-0410-8b05-ffd578937521
1996-03-31 22:14:35 +00:00
mccallum
e5e9e8c0e8 Include <objects/stdobjects.h>.
(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
1996-03-31 21:54:02 +00:00
mccallum
a4e8ca1af5 (GNU_CFILES): Removed behavior.c.
(GNU_MFILES): Added behavior.m.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1318 72102866-910b-0410-8b05-ffd578937521
1996-03-31 21:43:41 +00:00
mccallum
af64387855 *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1317 72102866-910b-0410-8b05-ffd578937521
1996-03-31 21:41:02 +00:00
mccallum
42630a149b (main): Use renamed method behavior_set_debug.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1316 72102866-910b-0410-8b05-ffd578937521
1996-03-31 04:34:14 +00:00
mccallum
5727fb18d0 Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1315 72102866-910b-0410-8b05-ffd578937521
1996-03-31 04:00:05 +00:00
mccallum
00e53dbf51 ([NSArray -lastObject]): Don't assert count; just return nil if it's
empty.
([NSMutableArray -removeLastObject]): Don't assert count; raise
NSRangeError if it's empty.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1314 72102866-910b-0410-8b05-ffd578937521
1996-03-30 23:00:27 +00:00
mccallum
336e25cf9f *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1313 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:48:40 +00:00
mccallum
7c9f0a1583 ([ConstantCollection -printCount]): Use object_get_class_name()
instead of sending -name.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1312 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:43:33 +00:00
mccallum
b5e1608e0c Make NSAutoreleasePools co-exist with exceptions, safely and without
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
1996-03-30 22:39:48 +00:00
mccallum
48f6007abf Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1310 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:22:20 +00:00
mccallum
007a6058c4 Change return types of "grow factor" methods from unsigned to int.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1309 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:21:48 +00:00
mccallum
7fec33d756 ([IndexedCollection -removeObject:]): Use unsigned for index, not int.
([IndexedCollection -replaceObject:withObject:]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1308 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:21:11 +00:00
mccallum
cb61138ef9 Declare new ivars and methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1307 72102866-910b-0410-8b05-ffd578937521
1996-03-30 22:20:43 +00:00