| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 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] | |||
| 2017-03-29 | Set proper class to subclass of Array | okkez | |
| More compatibility to CRuby. | |||
| 2017-03-19 | Should not check/call `to_str` for immediate objects; ref #3515 | Yukihiro "Matz" Matsumoto | |
| 2017-03-19 | Need not to call mrb_obj_as_string() is sep is nil. | Yukihiro "Matz" Matsumoto | |
| 2017-01-24 | Use size_t to avoid integer overflow in mrb_ary_splice(); fix #3413 | Yukihiro "Matz" Matsumoto | |
| 2017-01-23 | Refactoring: Use array_copy instead of for loop | ksss | |
| 2017-01-23 | Changed the behavior of mrb_range_beg_len(); close #3411 | Yukihiro "Matz" Matsumoto | |
| The new API is: int mrb_range_beg_len(mrb, range, &beg, &len, len, trunc) The new argument `trunc` is a boolean value that specifies whether the function truncates the range. The new return value is an integer instead of a boolean, that is: 0: not a range 1: range with proper edges 2: out of range To get the old behavior, you have to rewrite: mrb_range_beg_len(mrb, range, &beg, &len, len) to: mrn_range_beg_len(mrb, range, &beg, &len, len, TRUE) == 1 [Breaking Change] | |||
| 2017-01-23 | Use mrb_write_barrier() instead of mrb_field_write_barrier_value() | Yukihiro "Matz" Matsumoto | |
| ref #3409 | |||
| 2017-01-23 | Remove unnecessary inline declaration; ref #3409 | Yukihiro "Matz" Matsumoto | |
| 2017-01-23 | Merge pull request #3409 from ksss/mrb_ary_splice | Yukihiro "Matz" Matsumoto | |
| Rewrite mrb_ary_splice | |||
| 2017-01-22 | Should raise RuntimeError when object frozen | ksss | |
| 2017-01-22 | Rewrite mrb_ary_splice | ksss | |
| Referenced to CRuby's array.c(rb_ary_splice) fix #3405 | |||
| 2017-01-07 | Add ary_modify() checks; close #3379 | Yukihiro "Matz" Matsumoto | |
| This issue was reported by https://hackerone.com/an0n-j | |||
| 2017-01-06 | Improve capacity enhancing conditions | Yukihiro "Matz" Matsumoto | |
| 2016-12-31 | ary_expand_capa(): refine conditions to avoid infinite loop; ref #3353 | Yukihiro "Matz" Matsumoto | |
| 2016-12-31 | ary_expand_capa(): size calculation by size_t; fix #3353 | Yukihiro "Matz" Matsumoto | |
| Also more size checks added. | |||
| 2016-12-27 | Check array max size | ksss | |
| Fix #3354 | |||
| 2016-12-18 | Add "not reached" mark in mrb_ary_concat() | Yukihiro "Matz" Matsumoto | |
| 2016-12-12 | rename prefix RBASIC_ to MRB_; ref #3340 | Yukihiro "Matz" Matsumoto | |
| 2016-12-11 | Implement Object#freeze | Takashi Kokubun | |
| 2016-12-01 | Fix more integer overflows. | Clayton Smith | |
| 2016-12-01 | Fix compile error by #3309 | Yukihiro "Matz" Matsumoto | |
| 2016-11-30 | Prevent array size calculation overflows. | Clayton Smith | |
| 2016-11-29 | Use size_t to calculate bytes needed for array. | Clayton Smith | |
| 2016-11-29 | ary_concat: support self concatenation; fix #3302 | Yukihiro "Matz" Matsumoto | |
| 2016-11-24 | fixed a bug in self modifying Array#[]=; fix #3274 | Yukihiro "Matz" Matsumoto | |
| 2016-11-16 | Fixed rindex calling into mrb_equal bug | Yukihiro "Matz" Matsumoto | |
| Fixed by Alex Snaps and reported by Mathieu Leduc-Hamel, both from shopify.com. Thank you! | |||
| 2016-11-16 | Fixed a memory problem in Array#to_h | Yukihiro "Matz" Matsumoto | |
| Reported from Alex Snaps via Mathieu Leduc-Hamel, both from shopify.com. Thank you! | |||
| 2016-09-08 | Fix SEGV when splat object | ksss | |
| Splat operation should return an array. And raise an error if result of convert by to_a is not array or nil. | |||
| 2015-11-27 | include changed from by quotes ("") to by brackets (<>); close #3032 | Yukihiro "Matz" Matsumoto | |
| 2015-10-20 | Increasing docs coverage | Seba Gamboa | |
| 2015-10-01 | Array#index to take block; fix #2968 close #2970 | Yukihiro "Matz" Matsumoto | |
