| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-06-22 | Skip `mrb_get_args()` in `mrb_ary_{aget,aset}` unless necessary. | Yukihiro "Matz" Matsumoto | |
| Use simpler `mrb_get_argc()` and `mrb_get_arg1()` instead. | |||
| 2020-06-20 | Add `mrb_get_arg1()` that retrieves single (and only) argument. | Yukihiro "Matz" Matsumoto | |
| `mrb_get_arg1()` raises `ArgumentError` if the method does not receive one argument. And replaces all `mrb_get_args(mrb, "o", &arg)` by the new function. | |||
| 2020-05-24 | Do not destruct rest arguments for __send__ | Yusuke Endoh | |
| Formerly, `__send__(*args)` modified `args` with `Array#shift`. This bug affects optcarrot. This changeset avoids the array destruction by using `args = args[1, len-1]`. | |||
| 2020-04-24 | Support `undef` for `mrb_ary_splice()` instead of `[]` | dearblue | |
| When removing elements from an array, it is possible to avoid creating an empty array. Before this patch: ```c mrb_ary_splice(mrb, ary, head, len, mrb_ary_new(mrb)); ``` After this patch: ```c mrb_ary_splice(mrb, ary, head, len, mrb_undef_value()); ``` | |||
| 2019-12-13 | Fix arguments check to `Array#each` | KOBAYASHI Shuji | |
| #### Before this patch: ``` $ mruby -e '[].each(1){}' #=> no error ``` #### After this patch: ``` $ mruby -e '[].each(1){}' #=> ArgumentError: wrong number of arguments ``` | |||
| 2019-11-08 | Avoid crashing of `Array#unshift`; fix #4808 | Yukihiro "Matz" Matsumoto | |
| On cases like `a.unshift(*a)`. | |||
| 2019-09-18 | Remove `mrb_get_args(mrb, "")`; ref 30f37872 | KOBAYASHI Shuji | |
| 2019-09-14 | Add a macro `mrb_frozen_p` that points to `MRB_FROZEN_P`. | Yukihiro "Matz" Matsumoto | |
| 2019-08-18 | Prohibit changes to iseq in principle | dearblue | |
| 2019-08-17 | Implement `Array#each` using inline mruby bytecode. | Yukihiro "Matz" Matsumoto | |
| 2019-08-05 | Use new specifiers/modifiers of `mrb_vfromat()` | KOBAYASHI Shuji | |
| The binary sizes (gems are only `mruby-bin-mruby`) are reduced slightly in my environment than before the introduction of new specifiers/modifiers (5116789a) with this change. ------------+-------------------+-------------------+-------- BINARY | BEFORE (5116789a) | AFTER (This PR) | RATIO ------------+-------------------+-------------------+-------- mruby | 593416 bytes | 593208 bytes | -0.04% libmruby.a | 769048 bytes | 767264 bytes | -0.23% ------------+-------------------+-------------------+-------- BTW, I accidentally changed `tasks/toolchains/visualcpp.rake` at #4613, so I put it back. | |||
| 2019-06-23 | Fix argument specs to `Array` | KOBAYASHI Shuji | |
| 2019-05-25 | Name the return value of `mrb_range_beg_len()` | dearblue | |
| 2019-04-09 | Extract frozen checking to function | KOBAYASHI Shuji | |
| 2019-04-06 | Move `Array#(append|prepend)` from core to `mruby-ary-ext` | KOBAYASHI Shuji | |
| They are not included in ISO standard. | |||
| 2018-12-15 | Make mrb_ary_clear() function callable from C again | Takashi Sawanaka | |
| 2018-11-19 | Removed `to_ary` conversion method. | Yukihiro "Matz" Matsumoto | |
| 2018-10-29 | Add argument check to `Array#clear`; fix #4144 | Yukihiro "Matz" Matsumoto | |
| 2018-09-18 | Array size may be changed in `mrb_get_args()` reentry. | Yukihiro "Matz" Matsumoto | |
| fix #4116; fix #4117; fix #4118; fix #4119; fix #4120 | |||
| 2018-09-07 | Clear terminated space | dearblue | |
| 2018-04-25 | Fix array replace leak error in mruby-uri. | Takeshi Watanabe | |
| 2018-04-18 | `ary_dup()` should not use `ary_replace(); fix #4004 | Yukihiro "Matz" Matsumoto | |
| Otherwise the duplicated object may have shared entities that should not be modified in-line. | |||
| 2018-04-18 | A new function `ary_from_values()`; ref #4004 | Yukihiro "Matz" Matsumoto | |
| 2018-04-17 | Make `ary_replace()` to share entry buffers if possible. | Yukihiro "Matz" Matsumoto | |
| 2018-04-17 | Make `ary_concat()` to replace the receiver when it is empty. | Yukihiro "Matz" Matsumoto | |
| 2018-04-17 | Make `ary_replace()` to take `struct RArray*` argument. | Yukihiro "Matz" Matsumoto | |
| 2018-04-17 | Implement `Array#__svalue` in C. | Yukihiro "Matz" Matsumoto | |
| 2018-03-19 | Set array length after expanding capacity. | Takeshi Watanabe | |
| 2017-12-12 | Modifying frozen objects will raise `FrozenError`. | Yukihiro "Matz" Matsumoto | |
| `FrozenError` is a subclass of `RuntimeError` which used to be raised. [Ruby2.5] | |||
| 2017-11-13 | The number of argument should be retrieved by `mrb_get_argc`; fix #3848 | Yukihiro "Matz" Matsumoto | |
| You should not access `mrb->c->ci->argc` directly. | |||
| 2017-10-11 | Add MRB_WITHOUT_FLOAT | YAMAMOTO Masaya | |
| 2017-08-26 | Reimplement `Array#shift` to be faster. | Yukihiro "Matz" Matsumoto | |
| 2017-08-26 | `Array#first` to treat 1 argument case specially to improve performance. | Yukihiro "Matz" Matsumoto | |
| 2017-08-19 | Zero width `unshift` should not touch memory; ref #3780 | Yukihiro "Matz" Matsumoto | |
| 2017-08-19 | Unshift pointer move size was wrong (not `len` but `alen`); fix #3780 | Yukihiro "Matz" Matsumoto | |
| 2017-08-18 | Reduce signed/unsigned comparison warnings; ref #3785 | Yukihiro "Matz" Matsumoto | |
| 2017-08-18 | Separate `mrb_str_buf_new` and `mrb_str_new_capa`. | Yukihiro "Matz" Matsumoto | |
| `mrb_str_buf_new` is an old function that ensures capacity size of `MRB_STR_BUF_MIN_SIZE` minimum. Usually one need to use `mrb_str_new_capa` instead. | |||
| 2017-08-18 | Improve Array structure | Miura Hideki | |
| 2017-08-11 | Remove unnecessary inline function `ary_elt`. | Yukihiro "Matz" Matsumoto | |
| And the function does not conform the naming convention anyway. | |||
| 2017-08-05 | Fixed heap buffer overflow in `mrb_ary_unshift_m`; fix #3760 | Yukihiro "Matz" Matsumoto | |
| 2017-07-27 | Embed small size array elements in the heap. | Yukihiro "Matz" Matsumoto | |
| It reduces the memory consumption and sometimes improve the performance as well. For example, the consumed memory size of `bench/bm_ao_render.rb` is reduced from 1.2GB to 1GB, and its total execution time become 18.795 sec from 22.229 sec. | |||
| 2017-07-12 | Use "$!" specifier of `mrb_get_args`. | Yukihiro "Matz" Matsumoto | |
| 2017-07-12 | Add `ary_modify_check()` to `Array#unshift`; ref #3737 | Yukihiro "Matz" Matsumoto | |
| 2017-07-09 | Should only check frozen for Array#pop | ksss | |
| 2017-07-09 | Should only check frozen fix #3737 | ksss | |
| 2017-06-20 | Array size can be cause integer overflow; fix #3710 | Yukihiro "Matz" Matsumoto | |
| 2017-06-17 | Use `mrb_int` instead of `size_t` for array capacity and length. | Yukihiro "Matz" Matsumoto | |
| 2017-05-31 | Prevent splicing big recursive arrrays; ref #3679 | Yukihiro "Matz" Matsumoto | |
| We know this is not perfect, but this change makes hack like #3679 bit harder. Harmless for useful cases. | |||
| 2017-04-25 | Silence warnings caused by implicit type casting. | Yukihiro "Matz" Matsumoto | |
| 2017-04-01 | Add alias "append" to Array#push, and "prepend" to Array#unshift. | Yukihiro "Matz" Matsumoto | |
| According to CRuby [Feature#12746] | |||
