diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-10-15 18:31:06 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-10-15 18:31:06 +0900 |
| commit | 9cebddf9fe83ae0acde6f64f291fa3c9fc22880f (patch) | |
| tree | 6f9ca4f2941c3da48a504c937719adca36e4cdfe /mrbgems/mruby-os-memsize/src/memsize.c | |
| parent | 8c276f95be2f4e9deed73f08125a23a6746cb517 (diff) | |
| parent | 21e07d61138a87891dc780efaa28e6c76a39378f (diff) | |
| download | mruby-9cebddf9fe83ae0acde6f64f291fa3c9fc22880f.tar.gz mruby-9cebddf9fe83ae0acde6f64f291fa3c9fc22880f.zip | |
Merge pull request #5084 from mruby/mruby3
Mruby3
Diffstat (limited to 'mrbgems/mruby-os-memsize/src/memsize.c')
| -rw-r--r-- | mrbgems/mruby-os-memsize/src/memsize.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/mrbgems/mruby-os-memsize/src/memsize.c b/mrbgems/mruby-os-memsize/src/memsize.c index 191ab062d..359c2683c 100644 --- a/mrbgems/mruby-os-memsize/src/memsize.c +++ b/mrbgems/mruby-os-memsize/src/memsize.c @@ -108,17 +108,6 @@ os_memsize_of_object(mrb_state* mrb, mrb_value obj) if(!MRB_PROC_CFUNC_P(proc)) size += os_memsize_of_irep(mrb, proc->body.irep); break; } - case MRB_TT_DATA: - size += mrb_objspace_page_slot_size(); - break; -#ifndef MRB_WITHOUT_FLOAT - case MRB_TT_FLOAT: -#ifdef MRB_WORD_BOXING - size += mrb_objspace_page_slot_size() + - sizeof(struct RFloat); -#endif - break; -#endif case MRB_TT_RANGE: #ifndef MRB_RANGE_EMBED size += mrb_objspace_page_slot_size() + @@ -131,22 +120,25 @@ os_memsize_of_object(mrb_state* mrb, mrb_value obj) ptrdiff_t ci_size = f->cxt->ciend - f->cxt->cibase; size += mrb_objspace_page_slot_size() + - sizeof(struct RFiber) + sizeof(struct mrb_context) + - sizeof(struct RProc *) * f->cxt->esize + - sizeof(uint16_t *) * f->cxt->rsize + sizeof(mrb_value) * stack_size + sizeof(mrb_callinfo) * ci_size; break; } - case MRB_TT_ISTRUCT: +#ifndef MRB_NO_FLOAT + case MRB_TT_FLOAT: +#endif + case MRB_TT_INTEGER: + if (mrb_immediate_p(obj)) + break; + case MRB_TT_DATA: + case MRB_TT_ISTRUCT: size += mrb_objspace_page_slot_size(); break; /* zero heap size types. * immediate VM stack values, contained within mrb_state, or on C stack */ case MRB_TT_TRUE: case MRB_TT_FALSE: - case MRB_TT_FIXNUM: case MRB_TT_BREAK: case MRB_TT_CPTR: case MRB_TT_SYMBOL: |
