From b799725befdb108aa930e1f4a15eb53e75bd1c30 Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Wed, 19 Sep 2018 22:22:48 +0200 Subject: [PATCH] Update comment. --- m-genint.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/m-genint.h b/m-genint.h index c8d5b82c..158e6561 100644 --- a/m-genint.h +++ b/m-genint.h @@ -65,7 +65,7 @@ typedef struct genint_s { #define GENINT_CONTRACT(s) do { \ assert (s != NULL); \ - assert (s->n > 0 && s->n <= GENINT_LIMBSIZE * GENINT_LIMBSIZE); \ + assert (s->n > 0 && s->n <= GENINT_MAX_ALLOC); \ assert ((s->max+1) * GENINT_LIMBSIZE >= s->n); \ assert (s->data != NULL); \ } while (0) @@ -79,10 +79,12 @@ typedef struct genint_s { #define GENINT_ABA_CPT 32 #define GENINT_ABA_CPT_T uint32_t +// Set the bit i of master #define GENINT_MASTER_SET(master, i) \ ((((master)& (~((GENINT_ONE<< GENINT_ABA_CPT)-1))) | (GENINT_ONE << (GENINT_LIMBSIZE - 1 - i))) \ |((GENINT_ABA_CPT_T)((master) + 1))) +// Reset the bit i of master #define GENINT_MASTER_RESET(master, i) \ (((master) & (~((GENINT_ONE<< GENINT_ABA_CPT)-1)) & ~(GENINT_ONE << (GENINT_LIMBSIZE - 1 - i))) \ |((GENINT_ABA_CPT_T)((master) + 1))) @@ -121,7 +123,7 @@ static inline size_t genint_size(genint_t s) return s->n; } -// Typical case: one CAS per pop. +// For a typical case, the amortized cost is one CAS per pop. static inline unsigned int genint_pop(genint_t s) { GENINT_CONTRACT(s); @@ -179,7 +181,7 @@ static inline unsigned int genint_pop(genint_t s) return GENINT_ERROR; // No more resource available } -// Typical usage: one CAS per push +// For a typical case, the amortized cost is one CAS per pop. static inline void genint_push(genint_t s, unsigned int n) { GENINT_CONTRACT(s);