| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-08-11 | Fixed VC `fstat` issue. | Yukihiro "Matz" Matsumoto | |
| 2020-08-11 | Should use `_fstat32()` on 32bit Windows. | Yukihiro "Matz" Matsumoto | |
| 2020-08-11 | Add cast for `mrb_fixnum_value()` from `time_t`. | Yukihiro "Matz" Matsumoto | |
| 2020-08-11 | Fix `mrb_int` and `size_t` combination warnings. | Yukihiro "Matz" Matsumoto | |
| 2020-08-10 | Avoid using `mrb_funcall()` from `mruby-io` gem. | Yukihiro "Matz" Matsumoto | |
| 2020-08-09 | Remove duplicated definition of `E_EOF_ERROR`. | Yukihiro "Matz" Matsumoto | |
| 2020-08-09 | Merge pull request #5061 from ↵ | Yukihiro "Matz" Matsumoto | |
| shuujii/allow-mrb_static_assert-to-be-used-outside-of-functions Allow `mrb_static_assert()` to be used outside of functions | |||
| 2020-08-09 | Allow `mrb_static_assert()` to be used outside of functions | KOBAYASHI Shuji | |
| The use of `struct` is an idea by @dearblue. | |||
| 2020-08-08 | Return `NaN` for `0/0`; d8e060d | Yukihiro "Matz" Matsumoto | |
| 2020-08-08 | Should not use `mrb_float_value()` with `MRB_WITHOUT_FLOAT`. | Yukihiro "Matz" Matsumoto | |
| 2020-08-08 | Reintroduce `mrb_static_assert`; #5051 | Yukihiro "Matz" Matsumoto | |
| Note that the home brew version of `mrb_static_assert` only works within the function body. This reverts commit 8f99689. | |||
| 2020-08-07 | Avoid `division by zero` undefined behavior. | Yukihiro "Matz" Matsumoto | |
| 2020-08-06 | Merge pull request #5059 from mruby/stable | Yukihiro "Matz" Matsumoto | |
| Merge mruby 2.1.2 | |||
| 2020-08-06 | Merge master. | Hiroshi Mimaki | |
| 2020-08-06 | Use `memcpy` to copy stack. | Yukihiro "Matz" Matsumoto | |
| 2020-08-06 | Use `memset()` to clear stack unless `MRB_NAN_BOXING`. | Yukihiro "Matz" Matsumoto | |
| 2020-08-06 | Remove block clear of `callinfo`. | Yukihiro "Matz" Matsumoto | |
| 2020-08-06 | Remove `mrb_static_assert` from the core; #5051 | Yukihiro "Matz" Matsumoto | |
| 2020-08-06 | Update release date.2.1.2 | Hiroshi Mimaki | |
| 2020-08-05 | Merge pull request #5052 from dearblue/cistacks | Yukihiro "Matz" Matsumoto | |
| Extend the `cipush()` and `cipop()` functions | |||
| 2020-08-05 | Merge pull request #5058 from dearblue/benchmark | Yukihiro "Matz" Matsumoto | |
| Improve `rake benchmark` | |||
| 2020-08-04 | Improve `rake benchmark` | dearblue | |
| - Use POSIX format instead of GNU extension for `time` command. For example FreeBSD's `time(1)` does not have GNU extensions available. - Sort `benchmark/bm_*.rb`. This is because the order of the bar graph cannot be uniquely determined depending on the result of `Dir.glob`. | |||
| 2020-08-04 | Fix wrong condition for `PACK_DIR_HEX`; ref #5057 | Yukihiro "Matz" Matsumoto | |
| 2020-08-03 | Should not decrement `count` when `PACK_FLAG_COUNT2`; fix #5057 | Yukihiro "Matz" Matsumoto | |
| 2020-08-03 | Initialized local variables in `mrb_hash_shift()`. | Yukihiro "Matz" Matsumoto | |
| 2020-07-31 | Simplify `khash.h`. | Yukihiro "Matz" Matsumoto | |
| - Remove ` kh_put_prepare` function used only internally - Remove `n_occupied` member from `kh_` struct | |||
| 2020-07-31 | Fix `puts` in `mruby-print` on no argument; 0e9bd24 | Yukihiro "Matz" Matsumoto | |
| `puts` should print newline when called without arguments. | |||
| 2020-07-29 | Use type tag for hash code in `ht_hash_func()`2.1.2-rc2 | KOBAYASHI Shuji | |
| The function corresponding to `ht_hash_func()` was as follows in the days of khash implementation (before d78acc7a). ```c mrb_hash_ht_hash_func(mrb_state *mrb, mrb_value key) { enum mrb_vtype t = mrb_type(key); ... switch (t) { ... default: hv = mrb_funcall(mrb, key, "hash", 0); h = (khint_t)t ^ (khint_t)mrb_fixnum(hv); break; } ... } ``` When switched to the segmented list implementation (d78acc7a), this function was changed as follows. ```c sg_hash_func(mrb_state *mrb, seglist *t, mrb_value key) { enum mrb_vtype tt = mrb_type(key); ... switch (tt) { ... default: hv = mrb_funcall(mrb, key, "hash", 0); h = (size_t)t ^ (size_t)mrb_fixnum(hv); break; } ... } ``` Since the argument `t` was added, the variable for type tag was changed from `t` to `tt`, but the variable used in the expression of `h` remained `t`. Probably this is an omission of change, so fixed it. | |||
| 2020-07-29 | Fix the VM stack handling bug in 'mrb_yield_with_class()`; fix #5042 | Yukihiro "Matz" Matsumoto | |
| 2020-07-29 | Fixed shift width for `MRB_ENV_SET_BIDX()` | dearblue | |
| ref c07f24cd1 and close #5035 | |||
| 2020-07-26 | Merge pull request #5050 from dearblue/memsize_of2 | Yukihiro "Matz" Matsumoto | |
| Update document for `ObjectSpace.memsize_of` [ci skip] | |||
| 2020-07-26 | Extend the `cipush()` and `cipop()` functions | dearblue | |
| - Returns the updated call info. - Unify the processing around `cipush()`. - `cipop()` restores the stack. | |||
| 2020-07-26 | Update document for `ObjectSpace.memsize_of` [ci skip] | dearblue | |
| The `recurse` keyword is removed by f00657ead7c3e5f6f9a346d7797a280b5c9f02fa. | |||
| 2020-07-25 | Merge pull request #5049 from shuujii/use-type-tag-for-hash-code-in-ht_hash_func | Yukihiro "Matz" Matsumoto | |
| Use type tag for hash code in `ht_hash_func()` | |||
| 2020-07-25 | Use type tag for hash code in `ht_hash_func()` | KOBAYASHI Shuji | |
| The function corresponding to `ht_hash_func()` was as follows in the days of khash implementation (before d78acc7a). ```c mrb_hash_ht_hash_func(mrb_state *mrb, mrb_value key) { enum mrb_vtype t = mrb_type(key); ... switch (t) { ... default: hv = mrb_funcall(mrb, key, "hash", 0); h = (khint_t)t ^ (khint_t)mrb_fixnum(hv); break; } ... } ``` When switched to the segmented list implementation (d78acc7a), this function was changed as follows. ```c sg_hash_func(mrb_state *mrb, seglist *t, mrb_value key) { enum mrb_vtype tt = mrb_type(key); ... switch (tt) { ... default: hv = mrb_funcall(mrb, key, "hash", 0); h = (size_t)t ^ (size_t)mrb_fixnum(hv); break; } ... } ``` Since the argument `t` was added, the variable for type tag was changed from `t` to `tt`, but the variable used in the expression of `h` remained `t`. Probably this is an omission of change, so fixed it. | |||
| 2020-07-24 | Change the logic to calculate object (`iv_tbl`) size; #5045 | Yukihiro "Matz" Matsumoto | |
| 2020-07-24 | Merge pull request #5045 from dearblue/memsize_of | Yukihiro "Matz" Matsumoto | |
| Improve `mruby-os-memsize` | |||
| 2020-07-24 | Improve prototype for `mrb_objspace_page_slot_size()`; ref #5032 | dearblue | |
| If it qualify a return type that is not a pointer with `const`, the compiler ignores it. | |||
| 2020-07-24 | Avoid using FPU with `mruby-os-memsize`; ref #5032 | dearblue | |
| And, in the calculation of the instance variable size, the fraction was always rounded down because of division of integers, so fix it. At the same time, test items that are no longer passed due to this change are deleted. | |||
| 2020-07-24 | Support without `mruby-method` for `mruby-os-memsize`; ref #5032 | dearblue | |
| 2020-07-24 | Add NUL terminator to string object size calculation; ref #5032 | dearblue | |
| 2020-07-23 | `ObjectSpace.count_objects` to support `MRB_TT_ISTRUCT`; #5046 | Yukihiro "Matz" Matsumoto | |
| 2020-07-23 | Fix a bug with `ht_index` called with `size==0`; fix #5046 | Yukihiro "Matz" Matsumoto | |
| It happens when a hash made empty calls `rehash`. | |||
| 2020-07-22 | Fix `puts` to print newline with empty strings; ref b184772 | Yukihiro "Matz" Matsumoto | |
| 2020-07-22 | Use more `mrb_field_write_barrier` for instance variables. | Yukihiro "Matz" Matsumoto | |
| 2020-07-22 | Use more local variables. | Yukihiro "Matz" Matsumoto | |
| To make debugging easy, and to improve the performance little bit. | |||
| 2020-07-22 | Move `gray_list` update from `gc_mark_children`. | Yukihiro "Matz" Matsumoto | |
| The responsibility moved to caller to avoid confusion. Currently the function is called from only 2 places, so it is relatively easy to ensure not to update `gray_list` in the caller. But the assumption may change in the future. | |||
| 2020-07-22 | Avoid using `mrb_ary_modify` from the internal function. | Yukihiro "Matz" Matsumoto | |
| `mrb_ary_modify` calls `mrb_write_barrier`, so can cause the same problem of the past `push`. It is provided for use-level API. | |||
| 2020-07-22 | Use `mrb_field_write_barrier` instead of `mrb_write_barrier` for `push`. | Yukihiro "Matz" Matsumoto | |
| When the array is very big, the simpler `mrb_write_barrier` causes calling `gc_mark_children` for big arrays repeatedly. That would hinder performance very badly. | |||
| 2020-07-22 | Define `Array#to_a` to avoid unnecessary loops. | Yukihiro "Matz" Matsumoto | |
