hashtable bugfix

GSI code version optional.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12358 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
CaS 2002-02-01 10:19:56 +00:00
parent 121c5d6b2e
commit 3e354cabb1
14 changed files with 150 additions and 17 deletions

View file

@ -49,21 +49,34 @@
/*
* Setup for inline operation of pointer map tables.
*/
#define GSI_NEW 1
#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>