memsize.c: handle `MRB_TT_RATIONAL` and `MRB_TT_COMPLEX`.

parent e21f293d
......@@ -126,8 +126,25 @@ os_memsize_of_object(mrb_state* mrb, mrb_value obj)
case MRB_TT_INTEGER:
if (mrb_immediate_p(obj))
break;
case MRB_TT_RATIONAL:
#if defined(MRB_USE_RATIONAL)
#if defined(MRB_INT64) && defined(MRB_32BIT)
size += sizeof(mrb_int)*2;
#endif
size += mrb_objspace_page_slot_size();
#endif
break;
case MRB_TT_COMPLEX:
#if defined(MRB_USE_COMPLEX)
#if defined(MRB_32BIT) && !defined(MRB_USE_FLOAT32)
size += sizeof(mrb_float)*2;
#endif
size += mrb_objspace_page_slot_size();
#endif
break;
case MRB_TT_DATA:
case MRB_TT_ISTRUCT:
case MRB_TT_ISTRUCT:
size += mrb_objspace_page_slot_size();
break;
/* zero heap size types.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment