diff --git a/ChangeLog b/ChangeLog index 0dd06d0bd..6d6a1cee1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2002-02-01 Richard Frith-Macdonald + + * 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 * Source/NSHashTable.m: Fixed bug intorduced by last change to add diff --git a/Source/GSAttributedString.m b/Source/GSAttributedString.m index 49d2dd9d5..94eb0bc51 100644 --- a/Source/GSAttributedString.m +++ b/Source/GSAttributedString.m @@ -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) diff --git a/Source/GSCountedSet.m b/Source/GSCountedSet.m index ebedf487b..994842118 100644 --- a/Source/GSCountedSet.m +++ b/Source/GSCountedSet.m @@ -32,14 +32,8 @@ #include -#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) diff --git a/Source/GSDictionary.m b/Source/GSDictionary.m index f88d63551..ab69070e5 100644 --- a/Source/GSDictionary.m +++ b/Source/GSDictionary.m @@ -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 diff --git a/Source/GSFFCallInvocation.m b/Source/GSFFCallInvocation.m index 158ed57f1..7afb05325 100644 --- a/Source/GSFFCallInvocation.m +++ b/Source/GSFFCallInvocation.m @@ -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 diff --git a/Source/NSArchiver.m b/Source/NSArchiver.m index 6eea27d94..2dfefbab1 100644 --- a/Source/NSArchiver.m +++ b/Source/NSArchiver.m @@ -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 diff --git a/Source/NSConnection.m b/Source/NSConnection.m index 219df5c80..442b0429f 100644 --- a/Source/NSConnection.m +++ b/Source/NSConnection.m @@ -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 diff --git a/Source/NSFileManager.m b/Source/NSFileManager.m index e1c354e46..158266c38 100644 --- a/Source/NSFileManager.m +++ b/Source/NSFileManager.m @@ -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 diff --git a/Source/NSHashTable.m b/Source/NSHashTable.m index fb1121ced..ce830339d 100644 --- a/Source/NSHashTable.m +++ b/Source/NSHashTable.m @@ -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. diff --git a/Source/NSMapTable.m b/Source/NSMapTable.m index f64541f73..256ff30a7 100644 --- a/Source/NSMapTable.m +++ b/Source/NSMapTable.m @@ -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. diff --git a/Source/NSNotificationCenter.m b/Source/NSNotificationCenter.m index bf8831ebb..8862c33c8 100644 --- a/Source/NSNotificationCenter.m +++ b/Source/NSNotificationCenter.m @@ -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 -#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 diff --git a/Source/NSObject.m b/Source/NSObject.m index e1aa9733e..a3c64138d 100644 --- a/Source/NSObject.m +++ b/Source/NSObject.m @@ -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 diff --git a/Source/NSPortCoder.m b/Source/NSPortCoder.m index 049941a1e..bdc0e5ef0 100644 --- a/Source/NSPortCoder.m +++ b/Source/NSPortCoder.m @@ -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 /* * 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 diff --git a/Source/NSRunLoop.m b/Source/NSRunLoop.m index 7ea5112f7..3ce35e757 100644 --- a/Source/NSRunLoop.m +++ b/Source/NSRunLoop.m @@ -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 static NSComparisonResult aSort(GSIArrayItem i0, GSIArrayItem i1) diff --git a/Source/NSSerializer.m b/Source/NSSerializer.m index 549e93ad7..1d0376259 100644 --- a/Source/NSSerializer.m +++ b/Source/NSSerializer.m @@ -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 /* * 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 diff --git a/Source/NSUnarchiver.m b/Source/NSUnarchiver.m index d66a47d1d..dd9a39d3a 100644 --- a/Source/NSUnarchiver.m +++ b/Source/NSUnarchiver.m @@ -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