| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 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-18 | Turn off major GC mode before full GC; fix #4000 | Yukihiro "Matz" Matsumoto | |
| 2018-04-17 | Fallback to float when caompiled binary with 64bit compiler. | Takeshi Watanabe | |
| closes #3997. | |||
| 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-04-14 | Invoke full GC when too many objects allocated during GC; fix #3998 | Yukihiro "Matz" Matsumoto | |
| When object allocation rate during incremental GC is too high, the `gc->majorgc_old_threshold` becomes too big. This means major GC start slower and old objects stay longer (and consume too much memory). | |||
| 2018-04-14 | Change `MAJOR_GC_INC_RATIO` to 120; ref #3998 | Yukihiro "Matz" Matsumoto | |
| Because 200% is consumes too much memory for some cases. | |||
| 2018-04-14 | Remove `DEFAULT_` from `DEFAULT_MAJOR_GC_INC_RATIO`; ref #3998 | Yukihiro "Matz" Matsumoto | |
| Because unlike other GC ratio constants, it's not a default value. | |||
| 2018-04-13 | No longer need to insert write barriers for fibers. | Yukihiro "Matz" Matsumoto | |
| Those barriers are inserted to fix #3699 but all living fibers are marked from `mark_context()` anyway now. | |||
| 2018-04-13 | The #3871 fix caused wrong `break from proc-closure` error; fix #3996 | Yukihiro "Matz" Matsumoto | |
| 2018-04-13 | Add `fallthrough` comment to silence gcc warning. | Yukihiro "Matz" Matsumoto | |
| 2018-04-13 | Silence gcc initializer warning. | Yukihiro "Matz" Matsumoto | |
| 2018-04-11 | Check length of env stack before accessing upvar; fix #3995 | Yukihiro "Matz" Matsumoto | |
| 2018-04-05 | Adjust environment when `mrb_exec_irep` happened. | Takeshi Watanabe | |
| 2018-03-24 | Return nil if type differ in `String#<=>`. | Takeshi Watanabe | |
| 2018-03-22 | Need to keep block argument in `mrb_exec_irep`; fix #3973 | Yukihiro "Matz" Matsumoto | |
| 2018-03-20 | Needed to set `ci->proc` in `OP_SUPER`; fix #3966 | Yukihiro "Matz" Matsumoto | |
| 2018-03-19 | Set array length after expanding capacity. | Takeshi Watanabe | |
| 2018-03-16 | Update `mrb_get_args` reference comment; ref #3963 | Yukihiro "Matz" Matsumoto | |
| 2018-03-04 | fix && to &! in mrb_get_args() | dearblue | |
| 2018-03-04 | add forced block arguments feature to mrb_get_args | dearblue | |
| 2018-02-13 | Check if `to_int` returns `fixnum` value; fix #3946 | Yukihiro "Matz" Matsumoto | |
| 2018-02-12 | `String#inspect` to use hexadecimal, not octal to print unprintable. | Yukihiro "Matz" Matsumoto | |
| 2018-02-09 | Check `ensure` proc is NULL before calling; fix #3943 | Yukihiro "Matz" Matsumoto | |
| 2018-02-02 | Fix possible memory access error. | Takeshi Watanabe | |
| 2018-01-30 | Need not to pop `callinfo` on `OP_STOP`. | Yukihiro "Matz" Matsumoto | |
| 2018-01-25 | Check `arena_idx` before accessing; fix #3934 | Yukihiro "Matz" Matsumoto | |
| 2018-01-17 | Detect cyclic link of class path references; fix #3926 | Yukihiro "Matz" Matsumoto | |
| 2018-01-17 | Typo fixed. | Yukihiro "Matz" Matsumoto | |
| 2017-12-23 | Do not include object string representation in `NoMethodError` message. | Yukihiro "Matz" Matsumoto | |
| This information is not mandatory but causes a lot of problems in the past due to infinite recursion by redefining `to_str`, `inspect` etc. | |||
| 2017-12-23 | `super` should raise `TypeError` when the receiver is switched; fix #3911 | Yukihiro "Matz" Matsumoto | |
| The receiver can be switched using `#instance_eval` etc. | |||
| 2017-12-23 | Avoid infinite recursion in `method_missing`; ref #3908 | Yukihiro "Matz" Matsumoto | |
| 2017-12-23 | May need more stack space in `mrb_funcall_with_block`; fix #3908 | Yukihiro "Matz" Matsumoto | |
| 2017-12-23 | Should not overwrite `ci->target_class` in `mrb_exec_irep()`. | Yukihiro "Matz" Matsumoto | |
| For example, the following code behaved wrong: ```ruby Object.instance_exec(1,2,3){|*a| def foo 42 end } p foo() ``` | |||
| 2017-12-23 | Make source compilable with C++17 | Lothar Scholz | |
| Changes applied: - Removing "register" keyword - Fixing const pointer to pointer assignments - Adding type casts to rb_malloc calls | |||
| 2017-12-20 | Do not need to take `target_class` from the upper proc. | Yukihiro "Matz" Matsumoto | |
| Since it is already set in `mrb_proc_new()`. | |||
| 2017-12-20 | Should not overwrite `MRB_PROC_TARGET_CLASS(p)` if `p` has env; fix #3905 | Yukihiro "Matz" Matsumoto | |
| 2017-12-20 | Fixed method look-up for `method_missing` in OP_SUPER; ref #3905 | Yukihiro "Matz" Matsumoto | |
| Method look-up for `OP_SUPER` should start from the superclass of the `target_class` but if it fails, the look-up for `method_missing` should start from the class of the receiver. The following code explains the case: ```ruby class Bar def foo super end end class Foo<Bar def method_missing(mid, *) p mid end end ``` Foo.new.foo | |||
| 2017-12-20 | The superclass info should be taken from `TARGET_CLASS(ci->proc). | Yukihiro "Matz" Matsumoto | |
| Not from `ci->target_class` that may be switched using `class_eval` etc. fix #3899, fix #3906 We found out there is a mruby specific limitation that `super` may be screwed up when a method is defined in a module and `super` is called in the block with the target class switched (for example, `super` in `class_eval` block). Now we raise `RuntimeError` for such cases. The following code works in CRuby but not in mruby. ``` module M def foo "aaa".singleton_class.class_eval{super 2} end end class Foo def foo(*); end end class Bar<Foo include M end Bar.new.foo ``` | |||
| 2017-12-16 | Need to set `ci->proc` before calling methods; fix #3902 | Yukihiro "Matz" Matsumoto | |
| 2017-12-16 | Need to clear exception handler on `return`; fix #3898 | Yukihiro "Matz" Matsumoto | |
| 2017-12-15 | Check if destinations are too distant; fix #3900 fix #3901 | Yukihiro "Matz" Matsumoto | |
| 2017-12-13 | Retrieve operands at the beginning of `OP_SCLASS`. | Yukihiro "Matz" Matsumoto | |
| 2017-12-13 | Fixed wrong `MRB_WITHOUT_FLOAT` condition; ref #3827 | Yukihiro "Matz" Matsumoto | |
| 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-12-07 | Cancel df3507660 that does not do any good. | Yukihiro "Matz" Matsumoto | |
| 2017-12-07 | Avoid updating to reallocated stack in `OP_RETURN`; fix #3870 | Yukihiro "Matz" Matsumoto | |
| The code was introduced to address #3175 but it's no longer needed. | |||
