make inline functions from macros.
This commit is contained in:
parent
bd1052d55d
commit
117241b3c7
57
hash.c
57
hash.c
@ -563,26 +563,35 @@ hash_ar_table_set(VALUE hash, ar_table *ar)
|
||||
#define RHASH_SET_ST_FLAG(h) FL_SET_RAW(h, RHASH_ST_TABLE_FLAG)
|
||||
#define RHASH_UNSET_ST_FLAG(h) FL_UNSET_RAW(h, RHASH_ST_TABLE_FLAG)
|
||||
|
||||
#define RHASH_AR_TABLE_BOUND_SET(h, n) do { \
|
||||
st_index_t tmp_n = (n); \
|
||||
HASH_ASSERT(RHASH_AR_TABLE_P(h)); \
|
||||
HASH_ASSERT(tmp_n <= RHASH_AR_TABLE_MAX_BOUND); \
|
||||
RBASIC(h)->flags &= ~RHASH_AR_TABLE_BOUND_MASK; \
|
||||
RBASIC(h)->flags |= (tmp_n) << RHASH_AR_TABLE_BOUND_SHIFT; \
|
||||
} while (0)
|
||||
static inline void
|
||||
RHASH_AR_TABLE_BOUND_SET(VALUE h, st_index_t n)
|
||||
{
|
||||
HASH_ASSERT(RHASH_AR_TABLE_P(h));
|
||||
HASH_ASSERT(n <= RHASH_AR_TABLE_MAX_BOUND);
|
||||
|
||||
#define RHASH_AR_TABLE_SIZE_SET(h, n) do { \
|
||||
st_index_t tmp_n = n; \
|
||||
HASH_ASSERT(RHASH_AR_TABLE_P(h)); \
|
||||
RBASIC(h)->flags &= ~RHASH_AR_TABLE_SIZE_MASK; \
|
||||
RBASIC(h)->flags |= (tmp_n) << RHASH_AR_TABLE_SIZE_SHIFT; \
|
||||
} while (0)
|
||||
RBASIC(h)->flags &= ~RHASH_AR_TABLE_BOUND_MASK;
|
||||
RBASIC(h)->flags |= n << RHASH_AR_TABLE_BOUND_SHIFT;
|
||||
}
|
||||
|
||||
#define HASH_AR_TABLE_SIZE_ADD(h, n) do { \
|
||||
HASH_ASSERT(RHASH_AR_TABLE_P(h)); \
|
||||
RHASH_AR_TABLE_SIZE_SET((h), RHASH_AR_TABLE_SIZE(h)+(n)); \
|
||||
hash_verify(h); \
|
||||
} while (0)
|
||||
static inline void
|
||||
RHASH_AR_TABLE_SIZE_SET(VALUE h, st_index_t n)
|
||||
{
|
||||
HASH_ASSERT(RHASH_AR_TABLE_P(h));
|
||||
HASH_ASSERT(n <= RHASH_AR_TABLE_MAX_SIZE);
|
||||
|
||||
RBASIC(h)->flags &= ~RHASH_AR_TABLE_SIZE_MASK;
|
||||
RBASIC(h)->flags |= n << RHASH_AR_TABLE_SIZE_SHIFT;
|
||||
}
|
||||
|
||||
static inline void
|
||||
HASH_AR_TABLE_SIZE_ADD(VALUE h, st_index_t n)
|
||||
{
|
||||
HASH_ASSERT(RHASH_AR_TABLE_P(h));
|
||||
|
||||
RHASH_AR_TABLE_SIZE_SET(h, RHASH_AR_TABLE_SIZE(h) + n);
|
||||
|
||||
hash_verify(h);
|
||||
}
|
||||
|
||||
#define RHASH_AR_TABLE_SIZE_INC(h) HASH_AR_TABLE_SIZE_ADD(h, 1)
|
||||
|
||||
@ -602,12 +611,14 @@ RHASH_AR_TABLE_SIZE_DEC(VALUE h)
|
||||
hash_verify(h);
|
||||
}
|
||||
|
||||
#define RHASH_AR_TABLE_CLEAR(h) do { \
|
||||
RBASIC(h)->flags &= ~RHASH_AR_TABLE_SIZE_MASK; \
|
||||
RBASIC(h)->flags &= ~RHASH_AR_TABLE_BOUND_MASK; \
|
||||
hash_ar_table_set(hash, NULL); \
|
||||
} while (0)
|
||||
static inline void
|
||||
RHASH_AR_TABLE_CLEAR(VALUE h)
|
||||
{
|
||||
RBASIC(h)->flags &= ~RHASH_AR_TABLE_SIZE_MASK;
|
||||
RBASIC(h)->flags &= ~RHASH_AR_TABLE_BOUND_MASK;
|
||||
|
||||
hash_ar_table_set(h, NULL);
|
||||
}
|
||||
|
||||
static ar_table*
|
||||
ar_alloc_table(VALUE hash)
|
||||
|
Loading…
x
Reference in New Issue
Block a user