| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 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 | |
| 2014-04-12 | Delegate irep string free to mrb_gc_free_str | ksss | |
| 2014-03-26 | Merge pull request #1948 from monaka/pr-remove-unused-null-check | Yukihiro "Matz" Matsumoto | |
| Remove redundant NULL checks. | |||
| 2014-03-26 | Remove redundant NULL checks. | Masaki Muranaka | |
| mrb_malloc causes an exception when memory was empty. | |||
| 2014-03-25 | mrb_str_pool add string capa | ksss | |
| 2014-03-23 | mrb_str_pool use embed-string | ksss | |
| 2014-03-06 | make embed string when create literals | ksss | |
| 2014-03-06 | embed small string | ksss | |
| use flags 4 for *this object is embed* use flags 8~64 for *embed string length* | |||
