From fcb8909749b2a159ba7f32fec7df8e465a974f77 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Mon, 9 Jun 2008 17:40:16 -0700 Subject: Move all the RAA code out of nasmlib The RAA code doesn't have to be in nasmlib; it is only used by nasm itself, and is better handled in a separate module. --- nasmlib.h | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) (limited to 'nasmlib.h') diff --git a/nasmlib.h b/nasmlib.h index 3c69a662..3fa51279 100644 --- a/nasmlib.h +++ b/nasmlib.h @@ -280,56 +280,6 @@ void fwriteint32_t(uint32_t data, FILE * fp); void fwriteint64_t(uint64_t data, FILE * fp); void fwriteaddr(uint64_t data, int size, FILE * fp); -/* - * Routines to manage a dynamic random access array of int64_ts which - * may grow in size to be more than the largest single malloc'able - * chunk. - */ - -#define RAA_BLKSHIFT 15 /* 2**this many longs allocated at once */ -#define RAA_BLKSIZE (1 << RAA_BLKSHIFT) -#define RAA_LAYERSHIFT 15 /* 2**this many _pointers_ allocated */ -#define RAA_LAYERSIZE (1 << RAA_LAYERSHIFT) - -typedef struct RAA RAA; -typedef union RAA_UNION RAA_UNION; -typedef struct RAA_LEAF RAA_LEAF; -typedef struct RAA_BRANCH RAA_BRANCH; - -struct RAA { - /* - * Number of layers below this one to get to the real data. 0 - * means this structure is a leaf, holding RAA_BLKSIZE real - * data items; 1 and above mean it's a branch, holding - * RAA_LAYERSIZE pointers to the next level branch or leaf - * structures. - */ - int layers; - - /* - * Number of real data items spanned by one position in the - * `data' array at this level. This number is 0 trivially, for - * a leaf (level 0): for a level 1 branch it should be - * RAA_BLKSHIFT, and for a level 2 branch it's - * RAA_LAYERSHIFT+RAA_BLKSHIFT. - */ - int shift; - - union RAA_UNION { - struct RAA_LEAF { - int64_t data[RAA_BLKSIZE]; - } l; - struct RAA_BRANCH { - struct RAA *data[RAA_LAYERSIZE]; - } b; - } u; -}; - -struct RAA *raa_init(void); -void raa_free(struct RAA *); -int64_t raa_read(struct RAA *, int32_t); -struct RAA *raa_write(struct RAA *r, int32_t posn, int64_t value); - /* * Binary search routine. Returns index into `array' of an entry * matching `string', or <0 if no match. `array' is taken to -- cgit v1.2.1