aboutsummaryrefslogtreecommitdiffstats
path: root/iseq.h
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-07-08 12:11:56 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-07-08 12:11:56 +0900
commit9958ed61bc0f0156f5ed9fd8f058d964d84cac19 (patch)
treea731fddf702608d72a853a21e8057c8426919aed /iseq.h
parent4a2662ae8b9f64346af82551fdd6756e7497e2f1 (diff)
downloadruby-9958ed61bc0f0156f5ed9fd8f058d964d84cac19.tar.gz
Use `roomof` macro
The masking is not only unnecessary but works only when the masking value is a power of 2. Also suppress unary minus operator to unsigned type warnings.
Diffstat (limited to 'iseq.h')
-rw-r--r--iseq.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/iseq.h b/iseq.h
index 1ca77a34d9..4c6d9f6597 100644
--- a/iseq.h
+++ b/iseq.h
@@ -21,7 +21,7 @@ RUBY_EXTERN const int ruby_api_version[];
#define ISEQ_MBITS_BITLENGTH (ISEQ_MBITS_SIZE * CHAR_BIT)
#define ISEQ_MBITS_SET(buf, i) (buf[(i) / ISEQ_MBITS_BITLENGTH] |= ((iseq_bits_t)1 << ((i) % ISEQ_MBITS_BITLENGTH)))
#define ISEQ_MBITS_SET_P(buf, i) ((buf[(i) / ISEQ_MBITS_BITLENGTH] >> ((i) % ISEQ_MBITS_BITLENGTH)) & 0x1)
-#define ISEQ_MBITS_BUFLEN(size) (((size + (ISEQ_MBITS_BITLENGTH - 1)) & -ISEQ_MBITS_BITLENGTH) / ISEQ_MBITS_BITLENGTH)
+#define ISEQ_MBITS_BUFLEN(size) roomof(size, ISEQ_MBITS_BITLENGTH)
#ifndef USE_ISEQ_NODE_ID
#define USE_ISEQ_NODE_ID 1