1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

imemo_mask (enum) -> IMEMO_MASK (immediate value).

* internal.h: imemo_mask is not a valid imemo type but
  switch statements show warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2017-10-21 10:21:31 +00:00
parent 49ce3ca374
commit 2ab99609e0
3 changed files with 6 additions and 8 deletions

View file

@ -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)

4
gc.c
View file

@ -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);

View file

@ -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);