summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2017-09-01Update method cache clearing.Yukihiro "Matz" Matsumoto
2017-08-30Set the ORPHAN flag in `Proc.new`; fix #3798Yukihiro "Matz" Matsumoto
2017-08-30Fixed a critical typo; ref #3798Yukihiro "Matz" Matsumoto
2017-08-30Need to mark `mrb->range_class`; fix #3797Yukihiro "Matz" Matsumoto
2017-08-29Need to update `ci` after `callinfo` stack reallocation; fix #3796Yukihiro "Matz" Matsumoto
2017-08-29Exclude the top-level closure from `each_object`; fix #3793Yukihiro "Matz" Matsumoto
2017-08-29Revert "Clear `irep->outer` when no `Proc` reference the `irep`; fix #3793"Yukihiro "Matz" Matsumoto
This reverts commit 15d48efa4bf6a6b999dab99720fb9fe3c4a06ef0.
2017-08-28Clear `irep->outer` when no `Proc` reference the `irep`; fix #3793Yukihiro "Matz" Matsumoto
2017-08-26Reimplement `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-26Check for ability to skip optional argument parsing.Yukihiro "Matz" Matsumoto
2017-08-26Silence compiler warning regarding float condition; fix #3790Yukihiro "Matz" Matsumoto
2017-08-26Remove unused `mrb_obj_iv_ifnone()` from API.Yukihiro "Matz" Matsumoto
2017-08-26Add checks if `iv_tbl` is NULL.Yukihiro "Matz" Matsumoto
2017-08-26Keep `Range` class in `mrb_state` structure for performance.Yukihiro "Matz" Matsumoto
2017-08-26Use `khash` for instance variables tables instead of segment list.Yukihiro "Matz" Matsumoto
For performance reason. Segmented list consumes slightly less memory but takes a lot of time especially when there are many slots in the segment lists (e.g. class constants).
2017-08-25fix fmt_fp.c(329) : warning C4244: 'return' : conversion from 'ptrdiff_t' to ↵Tomasz Dąbrowski
'int', possible loss of data
2017-08-25fix fmt_fp.c(251) : warning C4244: '=' : conversion from '__int64' to 'int', ↵Tomasz Dąbrowski
possible loss of data
2017-08-25fix fmt_fp.c(224) : warning C4244: '=' : conversion from 'ptrdiff_t' to ↵Tomasz Dąbrowski
'int', possible loss of data
2017-08-25fix fmt_fp.c(220) : warning C4244: '=' : conversion from '__int64' to 'int', ↵Tomasz Dąbrowski
possible loss of data
2017-08-25fix fmt_fp.c(206) : warning C4244: 'initializing' : conversion from ↵Tomasz Dąbrowski
'ptrdiff_t' to 'int', possible loss of data
2017-08-25fix fmt_fp.c(178) : warning C4244: 'return' : conversion from 'ptrdiff_t' to ↵Tomasz Dąbrowski
'int', possible loss of data
2017-08-25fix fmt_fp.c(123) : warning C4244: 'return' : conversion from 'ptrdiff_t' to ↵Tomasz Dąbrowski
'int', possible loss of data
2017-08-23Asserted bidx < ci->nregs for OP_SEND and OP_SUPERChristopher Aue
2017-08-22Added method cache.Yukihiro "Matz" Matsumoto
To enable method cache, define `MRB_METHOD_CACHE` or `MRB_METHOD_CACHE_SIZE`. The cache size must be power of 2. The default cache size is 128. The measurement: I measured simple benchmarks found in benchmark/ directory. With method cache enabled, we gained 6-8% performance improvement, with 97-99% cache hit rate.
2017-08-22Remove possible path that leaves a local variable uninitialized.Yukihiro "Matz" Matsumoto
2017-08-22`mrb_obj_respond_to` to use `mrb_method_search_vm`.Yukihiro "Matz" Matsumoto
2017-08-22`strlen` returns `size_t`; need to cast before assigning to `int`.Yukihiro "Matz" Matsumoto
2017-08-22(Try to) fix mixture of `int` and `size_t` in UTF-8 conversion.Yukihiro "Matz" Matsumoto
This only effects VC.
2017-08-19Reduce signed/unsigned warnings in dump.cYukihiro "Matz" Matsumoto
2017-08-19Reduce signed/unsigned warnings in fmt_fp.cYukihiro "Matz" Matsumoto
2017-08-19Use `ptrdiff_t` instead of `int`.Yukihiro "Matz" Matsumoto
2017-08-19Remove mixed signed/unsigned comparison in debug.c.Yukihiro "Matz" Matsumoto
2017-08-19Type check before traversing `irep->outer`; fix #3782Yukihiro "Matz" Matsumoto
2017-08-19Call `mrb_full_gc` before `gc_each_objects`; ref #3782Yukihiro "Matz" Matsumoto
Otherwise dead object may be seen from `#each_object`.
2017-08-19Zero width `unshift` should not touch memory; ref #3780Yukihiro "Matz" Matsumoto
2017-08-19Unshift pointer move size was wrong (not `len` but `alen`); fix #3780Yukihiro "Matz" Matsumoto
2017-08-18`capacify' for `mrb_str_new_capa` should not be `0`.Yukihiro "Matz" Matsumoto
2017-08-18`mrb_str_cat`: `capa` should not be zero to avoid infinite loops.Yukihiro "Matz" Matsumoto
2017-08-18`mrb_str_cat`: `capa` should be bigger than `total`.Yukihiro "Matz" Matsumoto
2017-08-18`ARY_CAPA` handles capacity for embedded arrays by itself.Yukihiro "Matz" Matsumoto
2017-08-18Reduce signed/unsigned comparison warnings; ref #3785Yukihiro "Matz" Matsumoto
2017-08-18Separate `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-18Remove code duplication in `mrb_str_concat`.Yukihiro "Matz" Matsumoto
2017-08-18Merge `str_buf_cat` and `mrb_str_cat`.Yukihiro "Matz" Matsumoto
2017-08-18Merge pull request #3786 from christopheraue/3784_fixYukihiro "Matz" Matsumoto
Reset ci in OP_SUPER after potential realloc
2017-08-18Merge pull request #3785 from miura1729/originalYukihiro "Matz" Matsumoto
Improve Array structure
2017-08-18Improve Array structureMiura Hideki
2017-08-18Reset ci in OP_SUPER after potential reallocChristopher Aue
2017-08-12Reintroduced not storing converted proc directly in the stackChristopher Aue