summaryrefslogtreecommitdiff
path: root/shape.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <[email protected]>2024-08-16 15:02:30 +0900
committerNobuyoshi Nakada <[email protected]>2024-08-16 15:43:43 +0900
commit196d59f6908028de0267ab355ef4423bc011ee3f (patch)
treebc1eb3ae0161b334118431ad2d9633c0574aa831 /shape.c
parent129b4936bf8c556e9d400852ccd5b165dbe91499 (diff)
Parenthesize macro arguments
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11389
Diffstat (limited to 'shape.c')
-rw-r--r--shape.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/shape.c b/shape.c
index f9e8b31861..cfb6bae969 100644
--- a/shape.c
+++ b/shape.c
@@ -32,11 +32,13 @@
#define REDBLACK_CACHE_SIZE (SHAPE_BUFFER_SIZE * 32)
+/* This depends on that the allocated memory by Ruby's allocator or
+ * mmap is not located at an odd address. */
#define SINGLE_CHILD_TAG 0x1
-#define TAG_SINGLE_CHILD(x) (struct rb_id_table *)((uintptr_t)x | SINGLE_CHILD_TAG)
+#define TAG_SINGLE_CHILD(x) (struct rb_id_table *)((uintptr_t)(x) | SINGLE_CHILD_TAG)
#define SINGLE_CHILD_MASK (~((uintptr_t)SINGLE_CHILD_TAG))
-#define SINGLE_CHILD_P(x) (((uintptr_t)x) & SINGLE_CHILD_TAG)
-#define SINGLE_CHILD(x) (rb_shape_t *)((uintptr_t)x & SINGLE_CHILD_MASK)
+#define SINGLE_CHILD_P(x) ((uintptr_t)(x) & SINGLE_CHILD_TAG)
+#define SINGLE_CHILD(x) (rb_shape_t *)((uintptr_t)(x) & SINGLE_CHILD_MASK)
#define ANCESTOR_CACHE_THRESHOLD 10
#define MAX_SHAPE_ID (SHAPE_BUFFER_SIZE - 1)
#define ANCESTOR_SEARCH_MAX_DEPTH 2