mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Use new GSI api
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12359 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
59e387cc17
commit
d161236d1e
16 changed files with 18 additions and 138 deletions
18
ChangeLog
18
ChangeLog
|
@ -1,3 +1,21 @@
|
|||
2002-02-01 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/GSAttributedString.m: Move to assuming new GSI api.
|
||||
* Source/NSHashTable.m: ditto
|
||||
* Source/NSMapTable.m: ditto
|
||||
* Source/GSCountedSet.m: ditto
|
||||
* Source/GSDictionary.m: ditto
|
||||
* Source/GSFFCallInvocation.m: ditto
|
||||
* Source/NSArchiver.m: ditto
|
||||
* Source/NSConnection.m: ditto
|
||||
* Source/NSFileManager.m: ditto
|
||||
* Source/NSNotificationCenter.m: ditto
|
||||
* Source/NSObject.m: ditto
|
||||
* Source/NSPortCoder.m: ditto
|
||||
* Source/NSRunLoop.m: ditto
|
||||
* Source/NSSerializer.m: ditto
|
||||
* Source/NSUnarchiver.m: ditto
|
||||
|
||||
2002-02-01 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/NSHashTable.m: Fixed bug intorduced by last change to add
|
||||
|
|
|
@ -91,20 +91,11 @@
|
|||
|
||||
|
||||
|
||||
#ifdef GSI_NEW 1
|
||||
#define GSI_MAP_RETAIN_KEY(M, X)
|
||||
#define GSI_MAP_RELEASE_KEY(M, X)
|
||||
#define GSI_MAP_RETAIN_VAL(M, X)
|
||||
#define GSI_MAP_RELEASE_VAL(M, X)
|
||||
#define GSI_MAP_EQUAL(M, X,Y) [(X).obj isEqualToDictionary: (Y).obj]
|
||||
#else
|
||||
#define GSI_MAP_RETAIN_KEY(X)
|
||||
#define GSI_MAP_RELEASE_KEY(X)
|
||||
#define GSI_MAP_RETAIN_VAL(X)
|
||||
#define GSI_MAP_RELEASE_VAL(X)
|
||||
#define GSI_MAP_EQUAL(X,Y) [(X).obj isEqualToDictionary: (Y).obj]
|
||||
#endif
|
||||
|
||||
#define GSI_MAP_KTYPES GSUNION_OBJ
|
||||
#define GSI_MAP_VTYPES GSUNION_INT
|
||||
|
||||
|
@ -161,11 +152,7 @@ unCacheAttributes(NSDictionary *attrs)
|
|||
{
|
||||
GSIMapNode node;
|
||||
|
||||
#ifdef GSI_NEW
|
||||
node = GSIMapNodeForKeyInBucket(&attrMap, bucket, (GSIMapKey)attrs);
|
||||
#else
|
||||
node = GSIMapNodeForKeyInBucket(bucket, (GSIMapKey)attrs);
|
||||
#endif
|
||||
if (node != 0)
|
||||
{
|
||||
if (--node->value.uint == 0)
|
||||
|
|
|
@ -32,14 +32,8 @@
|
|||
#include <Foundation/NSDebug.h>
|
||||
|
||||
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_MAP_RETAIN_VAL(M, X)
|
||||
#define GSI_MAP_RELEASE_VAL(M, X)
|
||||
#else
|
||||
#define GSI_MAP_RETAIN_VAL(X)
|
||||
#define GSI_MAP_RELEASE_VAL(X)
|
||||
#endif
|
||||
|
||||
#define GSI_MAP_KTYPES GSUNION_OBJ
|
||||
#define GSI_MAP_VTYPES GSUNION_INT
|
||||
|
||||
|
@ -298,11 +292,7 @@
|
|||
{
|
||||
GSIMapNode node;
|
||||
|
||||
#ifdef GSI_NEW
|
||||
node = GSIMapNodeForKeyInBucket(&map, bucket, (GSIMapKey)anObject);
|
||||
#else
|
||||
node = GSIMapNodeForKeyInBucket(bucket, (GSIMapKey)anObject);
|
||||
#endif
|
||||
if (node != 0)
|
||||
{
|
||||
if (--node->value.uint == 0)
|
||||
|
|
|
@ -39,17 +39,10 @@
|
|||
*/
|
||||
#define GSI_MAP_KTYPES GSUNION_OBJ
|
||||
#define GSI_MAP_VTYPES GSUNION_OBJ
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_MAP_HASH(M, X) [X.obj hash]
|
||||
#define GSI_MAP_EQUAL(M, X,Y) [X.obj isEqual: Y.obj]
|
||||
#define GSI_MAP_RETAIN_KEY(M, X) ((id)(X).obj) = \
|
||||
[((id)(X).obj) copyWithZone: map->zone]
|
||||
#else
|
||||
#define GSI_MAP_HASH(X) [X.obj hash]
|
||||
#define GSI_MAP_EQUAL(X,Y) [X.obj isEqual: Y.obj]
|
||||
#define GSI_MAP_RETAIN_KEY(X) ((id)(X).obj) = \
|
||||
[((id)(X).obj) copyWithZone: map->zone]
|
||||
#endif
|
||||
|
||||
#include <base/GSIMap.h>
|
||||
|
||||
|
|
|
@ -106,21 +106,12 @@ ReturnTypeEqualsReturnType (vacallReturnTypeInfo *a, vacallReturnTypeInfo *b)
|
|||
&& (a->type == b->type);
|
||||
}
|
||||
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_MAP_HASH(M, X) ReturnTypeHash (X.ptr)
|
||||
#define GSI_MAP_EQUAL(M, X,Y) ReturnTypeEqualsReturnType (X.ptr, Y.ptr)
|
||||
#define GSI_MAP_RETAIN_KEY(M, X)
|
||||
#define GSI_MAP_RETAIN_VAL(M, X)
|
||||
#define GSI_MAP_RELEASE_KEY(M, X)
|
||||
#define GSI_MAP_RELEASE_VAL(M, X)
|
||||
#else
|
||||
#define GSI_MAP_HASH(X) ReturnTypeHash (X.ptr)
|
||||
#define GSI_MAP_EQUAL(X,Y) ReturnTypeEqualsReturnType (X.ptr, Y.ptr)
|
||||
#define GSI_MAP_RETAIN_KEY(X)
|
||||
#define GSI_MAP_RETAIN_VAL(X)
|
||||
#define GSI_MAP_RELEASE_KEY(X)
|
||||
#define GSI_MAP_RELEASE_VAL(X)
|
||||
#endif
|
||||
|
||||
#include <base/GSIMap.h>
|
||||
|
||||
|
|
|
@ -28,21 +28,12 @@
|
|||
/*
|
||||
* Setup for inline operation of pointer map tables.
|
||||
*/
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_MAP_RETAIN_KEY(M, X)
|
||||
#define GSI_MAP_RELEASE_KEY(M, X)
|
||||
#define GSI_MAP_RETAIN_VAL(M, X)
|
||||
#define GSI_MAP_RELEASE_VAL(M, X)
|
||||
#define GSI_MAP_HASH(M, X) ((X).uint)
|
||||
#define GSI_MAP_EQUAL(M, X,Y) ((X).uint == (Y).uint)
|
||||
#else
|
||||
#define GSI_MAP_RETAIN_KEY(X)
|
||||
#define GSI_MAP_RELEASE_KEY(X)
|
||||
#define GSI_MAP_RETAIN_VAL(X)
|
||||
#define GSI_MAP_RELEASE_VAL(X)
|
||||
#define GSI_MAP_HASH(X) ((X).uint)
|
||||
#define GSI_MAP_EQUAL(X ,Y) ((X).uint == (Y).uint)
|
||||
#endif
|
||||
|
||||
#include <base/GSIMap.h>
|
||||
|
||||
|
|
|
@ -37,21 +37,12 @@
|
|||
/*
|
||||
* Setup for inline operation of pointer map tables.
|
||||
*/
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_MAP_RETAIN_KEY(M, X)
|
||||
#define GSI_MAP_RELEASE_KEY(M, X)
|
||||
#define GSI_MAP_RETAIN_VAL(M, X)
|
||||
#define GSI_MAP_RELEASE_VAL(M, X)
|
||||
#define GSI_MAP_HASH(M, X) ((X).uint ^ ((X).uint >> 3))
|
||||
#define GSI_MAP_EQUAL(M, X,Y) ((X).ptr == (Y).ptr)
|
||||
#else
|
||||
#define GSI_MAP_RETAIN_KEY(X)
|
||||
#define GSI_MAP_RELEASE_KEY(X)
|
||||
#define GSI_MAP_RETAIN_VAL(X)
|
||||
#define GSI_MAP_RELEASE_VAL(X)
|
||||
#define GSI_MAP_HASH(X) ((X).uint ^ ((X).uint >> 3))
|
||||
#define GSI_MAP_EQUAL(X,Y) ((X).ptr == (Y).ptr)
|
||||
#endif
|
||||
|
||||
#include <base/GSIMap.h>
|
||||
|
||||
|
|
|
@ -1377,15 +1377,9 @@ inline void gsedRelease(GSEnumeratedDirectory X)
|
|||
}
|
||||
|
||||
#define GSI_ARRAY_TYPES 0
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_ARRAY_TYPE GSEnumeratedDirectory
|
||||
#define GSI_ARRAY_RELEASE(A, X) gsedRelease(X.ext)
|
||||
#define GSI_ARRAY_RETAIN(A, X)
|
||||
#else
|
||||
#define GSI_ARRAY_EXTRA GSEnumeratedDirectory
|
||||
#define GSI_ARRAY_RELEASE(X) gsedRelease(X.ext)
|
||||
#define GSI_ARRAY_RETAIN(X)
|
||||
#endif
|
||||
|
||||
#include <base/GSIArray.h>
|
||||
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
#include "NSCallBacks.h"
|
||||
|
||||
|
||||
#define GSI_NEW 1
|
||||
/*
|
||||
* The 'Fastmap' stuff provides an inline implementation of a hash
|
||||
* table - for maximum performance.
|
||||
|
|
|
@ -45,8 +45,6 @@ typedef struct {
|
|||
NSMapTableValueCallBacks v;
|
||||
} extraData;
|
||||
|
||||
#define GSI_NEW 1
|
||||
|
||||
/*
|
||||
* The 'Fastmap' stuff provides an inline implementation of a mapping
|
||||
* table - for maximum performance.
|
||||
|
|
|
@ -111,19 +111,12 @@ static void obsFree(Observation *o);
|
|||
|
||||
|
||||
#define GSI_ARRAY_TYPES 0
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_ARRAY_TYPE Observation*
|
||||
#define GSI_ARRAY_RELEASE(A, X) obsFree(X.ext)
|
||||
#define GSI_ARRAY_RETAIN(A, X) obsRetain(X.ext)
|
||||
#else
|
||||
#define GSI_ARRAY_EXTRA Observation*
|
||||
#define GSI_ARRAY_RELEASE(X) obsFree(X.ext)
|
||||
#define GSI_ARRAY_RETAIN(X) obsRetain(X.ext)
|
||||
#endif
|
||||
|
||||
#include <base/GSIArray.h>
|
||||
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_MAP_RETAIN_KEY(M, X)
|
||||
#define GSI_MAP_RELEASE_KEY(M, X) ({if ((((gsaddr)X.obj) & 1) == 0) \
|
||||
RELEASE(X.obj);})
|
||||
|
@ -131,15 +124,6 @@ static void obsFree(Observation *o);
|
|||
#define GSI_MAP_EQUAL(M, X,Y) doEqual(X.obj, Y.obj)
|
||||
#define GSI_MAP_RETAIN_VAL(M, X)
|
||||
#define GSI_MAP_RELEASE_VAL(M, X)
|
||||
#else
|
||||
#define GSI_MAP_RETAIN_KEY(X)
|
||||
#define GSI_MAP_RELEASE_KEY(X) ({if ((((gsaddr)X.obj) & 1) == 0) \
|
||||
RELEASE(X.obj);})
|
||||
#define GSI_MAP_HASH(X) doHash(X.obj)
|
||||
#define GSI_MAP_EQUAL(X,Y) doEqual(X.obj, Y.obj)
|
||||
#define GSI_MAP_RETAIN_VAL(X)
|
||||
#define GSI_MAP_RELEASE_VAL(X)
|
||||
#endif
|
||||
|
||||
#define GSI_MAP_KTYPES GSUNION_OBJ|GSUNION_INT
|
||||
#define GSI_MAP_VTYPES GSUNION_PTR
|
||||
|
|
|
@ -225,21 +225,12 @@ NSDecrementExtraRefCountWasZero(id anObject)
|
|||
|
||||
#else
|
||||
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_MAP_EQUAL(M, X, Y) (X.obj == Y.obj)
|
||||
#define GSI_MAP_HASH(M, X) (X.ptr >> 2)
|
||||
#define GSI_MAP_RETAIN_KEY(M, X)
|
||||
#define GSI_MAP_RELEASE_KEY(M, X)
|
||||
#define GSI_MAP_RETAIN_VAL(M, X)
|
||||
#define GSI_MAP_RELEASE_VAL(M, X)
|
||||
#else
|
||||
#define GSI_MAP_EQUAL(X, Y) (X.obj == Y.obj)
|
||||
#define GSI_MAP_HASH(X) (X.ptr >> 2)
|
||||
#define GSI_MAP_RETAIN_KEY(X)
|
||||
#define GSI_MAP_RELEASE_KEY(X)
|
||||
#define GSI_MAP_RETAIN_VAL(X)
|
||||
#define GSI_MAP_RELEASE_VAL(X)
|
||||
#endif
|
||||
#define GSI_MAP_KTYPES GSUNION_OBJ
|
||||
#define GSI_MAP_VTYPES GSUNION_INT
|
||||
|
||||
|
|
|
@ -49,34 +49,20 @@
|
|||
/*
|
||||
* Setup for inline operation of pointer map tables.
|
||||
*/
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_MAP_RETAIN_KEY(M, X)
|
||||
#define GSI_MAP_RELEASE_KEY(M, X)
|
||||
#define GSI_MAP_RETAIN_VAL(M, X)
|
||||
#define GSI_MAP_RELEASE_VAL(M, X)
|
||||
#define GSI_MAP_HASH(M, X) ((X).uint)
|
||||
#define GSI_MAP_EQUAL(M, X,Y) ((X).uint == (Y).uint)
|
||||
#else
|
||||
#define GSI_MAP_RETAIN_KEY(X)
|
||||
#define GSI_MAP_RELEASE_KEY(X)
|
||||
#define GSI_MAP_RETAIN_VAL(X)
|
||||
#define GSI_MAP_RELEASE_VAL(X)
|
||||
#define GSI_MAP_HASH(X) ((X).uint)
|
||||
#define GSI_MAP_EQUAL(X,Y) ((X).uint == (Y).uint)
|
||||
#endif
|
||||
|
||||
#include <base/GSIMap.h>
|
||||
|
||||
/*
|
||||
* Setup for inline operation of arrays.
|
||||
*/
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_ARRAY_RETAIN(A, X)
|
||||
#define GSI_ARRAY_RELEASE(A, X)
|
||||
#else
|
||||
#define GSI_ARRAY_RETAIN(X)
|
||||
#define GSI_ARRAY_RELEASE(X)
|
||||
#endif
|
||||
#define GSI_ARRAY_TYPES GSUNION_OBJ|GSUNION_SEL|GSUNION_STR
|
||||
|
||||
#include <base/GSIArray.h>
|
||||
|
|
|
@ -308,8 +308,6 @@ static inline BOOL timerInvalidated(NSTimer* timer)
|
|||
|
||||
#define GSI_ARRAY_TYPES GSUNION_OBJ
|
||||
|
||||
#ifdef GSI_NEW
|
||||
|
||||
#if GS_WITH_GC == 0
|
||||
#define GSI_ARRAY_RELEASE(A, X) [(X).obj release]
|
||||
#define GSI_ARRAY_RETAIN(A, X) [(X).obj retain]
|
||||
|
@ -318,18 +316,6 @@ static inline BOOL timerInvalidated(NSTimer* timer)
|
|||
#define GSI_ARRAY_RETAIN(A, X)
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#if GS_WITH_GC == 0
|
||||
#define GSI_ARRAY_RELEASE(X) [(X).obj release]
|
||||
#define GSI_ARRAY_RETAIN(X) [(X).obj retain]
|
||||
#else
|
||||
#define GSI_ARRAY_RELEASE(X)
|
||||
#define GSI_ARRAY_RETAIN(X)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#include <base/GSIArray.h>
|
||||
|
||||
static NSComparisonResult aSort(GSIArrayItem i0, GSIArrayItem i1)
|
||||
|
|
|
@ -50,34 +50,20 @@
|
|||
/*
|
||||
* Setup for inline operation of string map tables.
|
||||
*/
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_MAP_RETAIN_KEY(M, X)
|
||||
#define GSI_MAP_RELEASE_KEY(M, X)
|
||||
#define GSI_MAP_RETAIN_VAL(M, X)
|
||||
#define GSI_MAP_RELEASE_VAL(M, X)
|
||||
#define GSI_MAP_HASH(M, X) [(X).obj hash]
|
||||
#define GSI_MAP_EQUAL(M, X,Y) [(X).obj isEqualToString: (Y).obj]
|
||||
#else
|
||||
#define GSI_MAP_RETAIN_KEY(X)
|
||||
#define GSI_MAP_RELEASE_KEY(X)
|
||||
#define GSI_MAP_RETAIN_VAL(X)
|
||||
#define GSI_MAP_RELEASE_VAL(X)
|
||||
#define GSI_MAP_HASH(X) [(X).obj hash]
|
||||
#define GSI_MAP_EQUAL(X,Y) [(X).obj isEqualToString: (Y).obj]
|
||||
#endif
|
||||
|
||||
#include <base/GSIMap.h>
|
||||
|
||||
/*
|
||||
* Setup for inline operation of string arrays.
|
||||
*/
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_ARRAY_RETAIN(A, X)
|
||||
#define GSI_ARRAY_RELEASE(A, X)
|
||||
#else
|
||||
#define GSI_ARRAY_RETAIN(X)
|
||||
#define GSI_ARRAY_RELEASE(X)
|
||||
#endif
|
||||
#define GSI_ARRAY_TYPES GSUNION_OBJ
|
||||
|
||||
#include <base/GSIArray.h>
|
||||
|
|
|
@ -34,13 +34,8 @@
|
|||
/*
|
||||
* Setup for inline operation of arrays.
|
||||
*/
|
||||
#ifdef GSI_NEW
|
||||
#define GSI_ARRAY_RETAIN(A, X)
|
||||
#define GSI_ARRAY_RELEASE(A, X)
|
||||
#else
|
||||
#define GSI_ARRAY_RETAIN(X)
|
||||
#define GSI_ARRAY_RELEASE(X)
|
||||
#endif
|
||||
#define GSI_ARRAY_TYPES GSUNION_OBJ|GSUNION_SEL|GSUNION_STR
|
||||
|
||||
#include <base/GSIArray.h>
|
||||
|
|
Loading…
Reference in a new issue