summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/objspace/objspace.c2
-rw-r--r--gc.c4
-rw-r--r--internal.h8
3 files changed, 6 insertions, 8 deletions
diff --git a/ext/objspace/objspace.c b/ext/objspace/objspace.c
index d1ccb51094..61fb6a99f3 100644
--- a/ext/objspace/objspace.c
+++ b/ext/objspace/objspace.c
@@ -554,7 +554,7 @@ count_tdata_objects(int argc, VALUE *argv, VALUE self)
return hash;
}
-static ID imemo_type_ids[imemo_mask+1];
+static ID imemo_type_ids[IMEMO_MASK+1];
static int
count_imemo_objects_i(void *vstart, void *vend, size_t stride, void *data)
diff --git a/gc.c b/gc.c
index 91ada6746c..21f41e20c7 100644
--- a/gc.c
+++ b/gc.c
@@ -4539,7 +4539,6 @@ gc_mark_imemo(rb_objspace_t *objspace, VALUE obj)
} while ((m = m->next) != NULL);
}
return;
- case imemo_mask: break;
#if VM_CHECK_MODE > 0
default:
VM_UNREACHABLE(gc_mark_imemo);
@@ -9367,7 +9366,7 @@ rb_raw_obj_info(char *buff, const int buff_size, VALUE obj)
break;
}
case T_IMEMO: {
- const char *imemo_name;
+ const char *imemo_name = NULL;
switch (imemo_type(obj)) {
#define IMEMO_NAME(x) case imemo_##x: imemo_name = #x; break;
IMEMO_NAME(env);
@@ -9380,7 +9379,6 @@ rb_raw_obj_info(char *buff, const int buff_size, VALUE obj)
IMEMO_NAME(iseq);
IMEMO_NAME(alloc);
#undef IMEMO_NAME
- case imemo_mask: break;
}
snprintf(buff, buff_size, "%s %s", buff, imemo_name);
diff --git a/internal.h b/internal.h
index 10c58d6533..83b61f4d01 100644
--- a/internal.h
+++ b/internal.h
@@ -844,14 +844,14 @@ enum imemo_type {
imemo_memo = 5,
imemo_ment = 6,
imemo_iseq = 7,
- imemo_alloc = 8,
- imemo_mask = 0x0f
+ imemo_alloc = 8
};
+#define IMEMO_MASK 0x0f
static inline enum imemo_type
imemo_type(VALUE imemo)
{
- return (RBASIC(imemo)->flags >> FL_USHIFT) & imemo_mask;
+ return (RBASIC(imemo)->flags >> FL_USHIFT) & IMEMO_MASK;
}
static inline int
@@ -859,7 +859,7 @@ imemo_type_p(VALUE imemo, enum imemo_type imemo_type)
{
if (LIKELY(!RB_SPECIAL_CONST_P(imemo))) {
/* fixed at compile time if imemo_type is given. */
- const VALUE mask = (imemo_mask << FL_USHIFT) | RUBY_T_MASK;
+ const VALUE mask = (IMEMO_MASK << FL_USHIFT) | RUBY_T_MASK;
const VALUE expected_type = (imemo_type << FL_USHIFT) | T_IMEMO;
/* fixed at runtime. */
return expected_type == (RBASIC(imemo)->flags & mask);