diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-07-24 12:02:05 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-07-24 12:02:05 +0900 |
| commit | c69ca2c7f824d48203a49f194203db93b64994bf (patch) | |
| tree | 9eec72eb246f65f364ca183381325eb7d489bc77 /src/variable.c | |
| parent | b4f4f5968b7c5e05b91bf7a62a0438b0d4c9133e (diff) | |
| parent | ccd5f203bf1e7c54cb08fc9eecfe2772277b5a58 (diff) | |
| download | mruby-c69ca2c7f824d48203a49f194203db93b64994bf.tar.gz mruby-c69ca2c7f824d48203a49f194203db93b64994bf.zip | |
Merge pull request #5045 from dearblue/memsize_of
Improve `mruby-os-memsize`
Diffstat (limited to 'src/variable.c')
| -rw-r--r-- | src/variable.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/variable.c b/src/variable.c index 0c94f412e..8b4bdf0ce 100644 --- a/src/variable.c +++ b/src/variable.c @@ -4,7 +4,6 @@ ** See Copyright Notice in mruby.h */ -#include <math.h> #include <mruby.h> #include <mruby/array.h> #include <mruby/class.h> @@ -1132,9 +1131,9 @@ mrb_class_find_path(mrb_state *mrb, struct RClass *c) mrb_int mrb_obj_iv_tbl_memsize(mrb_state* mrb, mrb_value obj) { - return sizeof(iv_tbl) + - (sizeof(segment) * ceil(iv_size(mrb, mrb_obj_ptr(obj)->iv)/ - MRB_IV_SEGMENT_SIZE)); + size_t ivsize = iv_size(mrb, mrb_obj_ptr(obj)->iv); + size_t ivsegs = (ivsize + MRB_IV_SEGMENT_SIZE - 1) / MRB_IV_SEGMENT_SIZE; + return sizeof(iv_tbl) + (sizeof(segment) * ivsegs); } #define identchar(c) (ISALNUM(c) || (c) == '_' || !ISASCII(c)) |
