diff options
author | H. Peter Anvin <hpa@zytor.com> | 2008-06-09 17:40:16 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2008-06-09 17:40:16 -0700 |
commit | fcb8909749b2a159ba7f32fec7df8e465a974f77 (patch) | |
tree | 59a257a1d223ca0ed0f3e410830b0cc8544804d0 /nasmlib.h | |
parent | 35d620d2fdd6bfb1502c7db60ad8331edf74354e (diff) | |
download | nasm-fcb8909749b2a159ba7f32fec7df8e465a974f77.tar.gz |
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.
Diffstat (limited to 'nasmlib.h')
-rw-r--r-- | nasmlib.h | 50 |
1 files changed, 0 insertions, 50 deletions
@@ -281,56 +281,6 @@ 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 * contain `size' elements. |