| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-09-07 | Clear terminated space | dearblue | |
| 2018-08-06 | irep is released when Fiber is terminated | pyama86 | |
| 2018-08-01 | Remove `nregs` member from `mrb_callinfo`. | Yukihiro "Matz" Matsumoto | |
| This means reducing one word per a call frame. | |||
| 2018-07-31 | Reorganize flags values for classes; fix #3975 | Yukihiro "Matz" Matsumoto | |
| Renamed flag macro names as well: `MRB_FLAG_IS_FROZEN` -> `MRB_FL_OBJ_FROZEN` `MRB_FLAG_IS_PREPENDED` -> `MRB_FL_CLASS_IS_PREPENDED` `MRB_FLAG_IS_ORIGIN` -> `MRB_FL_CLASS_IS_ORIGIN` `MRB_FLAG_IS_INHERITED` -> `MRB_FL_CLASS_IS_INHERITED` | |||
| 2018-04-26 | Fix wrong the number of marked objects of MRB_TT_ENV in gray mark phase | Kouhei Sutou | |
| If MRB_TT_ENV has stack shared flag or bidx flag, flags is too large than the real stack size. | |||
| 2018-04-18 | Turn off major GC mode before full GC; fix #4000 | 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-02-02 | Fix possible memory access error. | Takeshi Watanabe | |
| 2017-11-29 | Need to free contexts when freeing fibers. | Yukihiro "Matz" Matsumoto | |
| Memory leak fixed; ref #3711 | |||
| 2017-11-22 | Should have marked all ensure stack entries; fix #3855 fix #3856 | Yukihiro "Matz" Matsumoto | |
| 2017-11-19 | Invoke `mrb_full_gc()` before `ObjectSpace.count_objects`. | Yukihiro "Matz" Matsumoto | |
| 2017-11-04 | Merge branch 'master' of github.com:mruby/mruby | YAMAMOTO Masaya | |
| 2017-10-31 | Need to mark fibers referenced from `env`; fix #3837 | Yukihiro "Matz" Matsumoto | |
| The issue #3837 is a regression of #3819. I was mistakenly removed a important code to mark fibers from `env`. | |||
| 2017-10-28 | Heavily refactored how lexical scope links are implemented; fix #3821 | Yukihiro "Matz" Matsumoto | |
| Instead of `irep` links, we added a `upper` link to `struct RProc`. To make a space for the `upper` link, we moved `target_class` reference. If a `Proc` does not have `env`, `target_class` is saved in an `union` shared with `env` (if a `Proc` has env, you can tell it by `MRB_PROC_ENV_P()). Otherwise `target_class` is referenced from `env->c`. We removed links in `env` as well. This change removes 2 members from `mrb_irep` struct, thus saving 2 words per method/proc/block. This also fixes potential memory leaks due to the circular references caused by a link from `mrb_irep`. | |||
| 2017-10-11 | Add MRB_WITHOUT_FLOAT | YAMAMOTO Masaya | |
| 2017-10-11 | Use division expression instead of some floating point literals | YAMAMOTO Masaya | |
| 2017-10-01 | Add new type of shared string: `RSTR_FSHARED`. | Yukihiro "Matz" Matsumoto | |
| `RSTR_FSHARED` use frozen strings as shared body instead of `struct mrb_shared_string`. This reduces allocation from literal strings. | |||
| 2017-09-29 | Cut links from `irep` in heaps finalization. | Yukihiro "Matz" Matsumoto | |
| 2017-09-27 | fix: src\gc.c(1425): warning C4244: '=': conversion from 'mrb_int' to 'int', ↵ | Tomasz Dąbrowski | |
| possible loss of data | |||
| 2017-09-27 | fix: src\gc.c(1392): warning C4244: '=': conversion from 'mrb_int' to 'int', ↵ | Tomasz Dąbrowski | |
| possible loss of data | |||
| 2017-09-27 | fix: src\gc.c(559): warning C4244: '=': conversion from 'mrb_int' to 'int', ↵ | Tomasz Dąbrowski | |
| possible loss of data | |||
| 2017-09-05 | Avoid recursion from `mark_context()`. | Yukihiro "Matz" Matsumoto | |
| 2017-09-04 | Restructure `irep->outer` chain; fix #3804 | Yukihiro "Matz" Matsumoto | |
| Instead of `irep -> proc` chain, we use `irep -> irep` chain to avoid GC bugs like #3804. We added `target_class` reference to `mrb_irep` struct. That means one more word consumption per `irep`. | |||
| 2017-08-30 | Need to mark `mrb->range_class`; fix #3797 | Yukihiro "Matz" Matsumoto | |
| 2017-08-29 | Revert "Clear `irep->outer` when no `Proc` reference the `irep`; fix #3793" | Yukihiro "Matz" Matsumoto | |
| This reverts commit 15d48efa4bf6a6b999dab99720fb9fe3c4a06ef0. | |||
| 2017-08-28 | Clear `irep->outer` when no `Proc` reference the `irep`; fix #3793 | Yukihiro "Matz" Matsumoto | |
| 2017-08-19 | Call `mrb_full_gc` before `gc_each_objects`; ref #3782 | Yukihiro "Matz" Matsumoto | |
| Otherwise dead object may be seen from `#each_object`. | |||
| 2017-08-05 | `proc->body.irep` may be NULL; fix #3761 | Yukihiro "Matz" Matsumoto | |
| 2017-08-01 | Implements `Module::nesting' (15.2.2.3.2); ref #600, #3200 | 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-18 | Simplify `mrb_gc_arena_restore()` to reduce overhead. | Yukihiro "Matz" Matsumoto | |
| It will no longer shrink arena region. Instead `vm.c` uses a static function `mrb_gc_arena_shrink()` to shrink. | |||
| 2017-07-12 | Avoid float operation to shrink arena buffer size. | Yukihiro "Matz" Matsumoto | |
| 2017-06-22 | No need to mark stacks of terminated fibers; fix #3720 | Yukihiro "Matz" Matsumoto | |
| 2017-06-17 | Merge pull request #3706 from MasahikoSawada/fix_typo | Yukihiro "Matz" Matsumoto | |
| Fix a typo in gc.c. | |||
| 2017-06-17 | Mark the GC arena in `final_marking_phase`. | Yukihiro "Matz" Matsumoto | |
| Arena can be modified during the marking phase. | |||
| 2017-06-17 | Mark the root context in `final_marking_phase`. | Yukihiro "Matz" Matsumoto | |
| Because the root context cannot be marked from fibers. | |||
| 2017-06-17 | Mark global variables in `final_marking_phase`; fix #3704 | Yukihiro "Matz" Matsumoto | |
| 2017-06-17 | Correct comments in gc.c | Yukihiro "Matz" Matsumoto | |
| 2017-06-17 | Fix a typo in gc.c. | Masahiko Sawada | |
| 2017-06-16 | Allow `break` from a block called by `mrb_yield`; close #3359 | Yukihiro "Matz" Matsumoto | |
| This means #3701 is now OK to merge. | |||
| 2017-06-16 | Use `MRB_THROW` instead of `mrb_exc_raise`. | Yukihiro "Matz" Matsumoto | |
| 2017-06-15 | Mark the exception object in the final marking phase; ref #3702 | Yukihiro "Matz" Matsumoto | |
| 2017-06-03 | Prohibit changing generational mode during GC disabled; fix #3689 | Yukihiro "Matz" Matsumoto | |
| 2017-06-01 | Avoid invoking GC when disabled or iterating; fix #3681 | Yukihiro "Matz" Matsumoto | |
| 2017-06-01 | Simplify ensure stack management; fix #3683 | Yukihiro "Matz" Matsumoto | |
| 2017-05-31 | Simplify the logic in `mrb_realloc`; ref #3679 | Yukihiro "Matz" Matsumoto | |
| 2017-05-29 | Mark the current context (not root) in final marking. | Yukihiro "Matz" Matsumoto | |
| 2017-05-25 | Revert 01f7825; fix #3650 | Yukihiro "Matz" Matsumoto | |
| Redundant `mark_context() is far better than crashes. | |||
