| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-09-26 | Use type predicate macros instead of `mrb_type` if possible | KOBAYASHI Shuji | |
| For efficiency with `MRB_WORD_BOXING` (implement type predicate macros for all `enum mrb_vtype`). | |||
| 2019-08-19 | Move `mrb_str_pool` to `src/string.c` to use `str_init` family | KOBAYASHI Shuji | |
| 2019-08-18 | Prohibit changes to iseq in principle | dearblue | |
| 2019-08-12 | `mrb_str_pool` can embed one more byte; ref #4626 | KOBAYASHI Shuji | |
| 2019-08-11 | Reorder finalization to avoid potential crash; ref #4618 | Yukihiro "Matz" Matsumoto | |
| `mrb_gc_destroy` may call other mruby API functions from the finalizers. So call that function first. | |||
| 2019-05-25 | Remove `mrb_alloca()` function | dearblue | |
| When I found this function, I expected it to behave the same as the `alloca(3)` function, but it is accually the `mrb_alloca()` function does not free the heap until the `mrb_close()` function is called. Also, even if it is deleted, it can be replaced with the combination of the `MRB_TT_DATA` object and the `mrb_gv_set()` function if it is sure necessary. | |||
| 2019-04-03 | Remove unnecessary `_set_output_format` call | KOBAYASHI Shuji | |
| Three-digit exponent issue was fixed via another workaround (63b8f5c). | |||
| 2019-02-09 | `mrb_default_allocf()` is default allocator for NULL safe | dearblue | |
| 2019-01-13 | Use 2 digits exponent format for `printf` family on old MSVC | KOBAYASHI Shuji | |
| For conforming C standard. | |||
| 2018-11-15 | Remove `filename`&`lines` from `mrb_irep` struct. | Yukihiro "Matz" Matsumoto | |
| This patch slightly reduce memory consumption (2% for my test). | |||
| 2017-11-04 | Merge branch 'master' of github.com:mruby/mruby | YAMAMOTO Masaya | |
| 2017-11-03 | Should not use `FSHARED` state for string from `irep` pools; fix #3829 | Yukihiro "Matz" Matsumoto | |
| This strings in `irep` pools may be freed forcefully in `mrb_irep_free`. This commit probably fixes #3817 as well. | |||
| 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-19 | Add `main.define_method` | Yukihiro "Matz" Matsumoto | |
| 2017-10-11 | Add MRB_WITHOUT_FLOAT | 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\state.c(66): warning C4200: nonstandard extension used: zero-sized ↵ | Tomasz Dąbrowski | |
| array in struct/union | |||
| 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-12 | Reduce integer type mismatch warnings in VC. | Yukihiro "Matz" Matsumoto | |
| 2017-05-31 | Revert 4566c80; fix #3679 | Yukihiro "Matz" Matsumoto | |
| The patch deallocate the memory in `mrb_default_allocf` but that hinders GC in `mrb_realloc`. | |||
| 2017-05-25 | Free given pointer if `realloc()` fails; fix #3658 | Yukihiro "Matz" Matsumoto | |
| 2017-05-23 | Simplify backtrace mechanism; fix #3633 #3634 #3644 | Yukihiro "Matz" Matsumoto | |
| Instead of preserving a backtrace in `mrb_state`, `mrb_exc_set` keeps packed backtrace in an exception object. `#backtrace` unpacks it to an array of strings. | |||
| 2017-04-03 | Unify `else` clause style | Yukihiro "Matz" Matsumoto | |
| 2017-01-23 | Fix a double free problem in codegen.c; fix #3378 | Yukihiro "Matz" Matsumoto | |
| This issue was first reported by https://hackerone.com/geeknik The fix was proposed by @titanous | |||
| 2016-06-10 | add temporary workaround for irep memory corruption | Yukihiro "Matz" Matsumoto | |
| need to find out real memory bug that appears in full-debug/mrbtest | |||
| 2015-12-29 | Support backtrace after method calls | Kouhei Sutou | |
| GitHub: fix #2902, #2917 The current implementation traverses stack to retrieve backtrace. But stack will be changed when some operations are occurred. It means that backtrace may be broken after some operations. This change (1) saves the minimum information to retrieve backtrace when exception is raised and (2) restores backtrace from the minimum information when backtrace is needed. It reduces overhead for creating backtrace Ruby objects. The space for the minimum information is reused by multiple exceptions. So memory allocation isn't occurred for each exception. | |||
| 2015-11-27 | include changed from by quotes ("") to by brackets (<>); close #3032 | Yukihiro "Matz" Matsumoto | |
| 2015-10-19 | Clean up GC code | furunkel | |
| 2015-09-12 | Don't crash if NULL is passed to mrb_close | Tatsuhiro Tsujikawa | |
| Sometimes it is very useful just return from mrb_close if NULL is passed as mrb. This is the same spirit of free(3), which just does nothing if NULL is passed. | |||
| 2014-08-29 | Fix mismatches for MRB_API declarations. | Tatsuhiko Kubo | |
| 2014-08-20 | Fix error handling for mrb_open_allocf(). | Tatsuhiko Kubo | |
| When DISABLE_GEMS is not defined and a return value of mrb_open_core() is NULL, mrb_open_allocf() may cause SEGV. | |||
| 2014-08-04 | add MRB_API modifiers to mruby API functions | Yukihiro "Matz" Matsumoto | |
| 2014-07-24 | Merge pull request #2477 from take-cheeze/allocf_ud | Yukihiro "Matz" Matsumoto | |
| Add field `allocf_ud` to replace current `ud`. | |||
| 2014-07-21 | since #1441, NaN boxing with 64bit pointer works; close #2476 | Yukihiro "Matz" Matsumoto | |
| 2014-07-17 | Add field `allocf_ud` to replace current `ud`. | take_cheeze | |
| Since some use it as `mrb_state` associated user data. | |||
| 2014-07-03 | Merge pull request #2442 from suzukaze/use-mrb-str-nofree-macro | Yukihiro "Matz" Matsumoto | |
| Use RSTR_NOFREE_P in state.c | |||
| 2014-07-03 | Use *_EMBED_* macro in state.c | Jun Hiroe | |
| 2014-07-03 | Use RSTR_NOFREE_P in state.c | Jun Hiroe | |
| 2014-06-23 | refacor mrb_open_core() to reduce a local variable | Yukihiro "Matz" Matsumoto | |
| 2014-06-23 | rename mrb_open_without_mrbgems to mrb_open_core | take_cheeze | |
| 2014-06-23 | make default allocf public to use it with mrb_open_without_mrbgems | take_cheeze | |
| 2014-06-23 | add mrb_open_without_mrbgems API | take_cheeze | |
| 2014-06-16 | Add fixed state atexit stack feature. | take_cheeze | |
| Adds following macros: * MRB_FIXED_STATE_ATEXIT_STACK (not defined by default) * When defined enables fixed state atexit stack. * MRB_FIXED_STATE_ATEXIT_STACK_SIZE (default value: 5) * This macro will be ignored when `MRB_FIXED_STATE_ATEXIT_STACK` isn't defined. * When `mrb_state_atexit` is called more than this value it will raise runtime error. | |||
| 2014-06-10 | rename mrb_atexit to mrb_state_atexit to clarify a func will be called at ↵ | Yukihiro "Matz" Matsumoto | |
| the end of state, not process; ref #2211 | |||
| 2014-06-08 | Use `_Static_assert` when C11 is available and use it in pointer size check. | take_cheeze | |
| 2014-06-06 | Release `mrb->atexit_stack` on `mrb_close`. | take_cheeze | |
| 2014-05-08 | Add API `mrb_atexit()`. | take_cheeze | |
| `mrb_final_mrbgems` will be called as mrb_state atexit function. Maybe useful in #1844. | |||
| 2014-04-28 | presreve local variables names in irep->lv | Yukihiro "Matz" Matsumoto | |
| 2014-04-14 | should always initialize header flags for pooled strings | Yukihiro "Matz" Matsumoto | |
