summaryrefslogtreecommitdiffhomepage
path: root/include
AgeCommit message (Collapse)Author
2017-09-01Make the default integer size to be `MRB_INT64` on 64bit systems; close #3800Yukihiro "Matz" Matsumoto
Unless `MRB_NAN_BOXING` is specified.
2017-08-28Remove integer type mismatch warnings from parse.y.Yukihiro "Matz" Matsumoto
2017-08-26fix mrbgems/mruby-range-ext/src/range.c:142:71: error: use of undeclared ↵Tomasz Dąbrowski
identifier 'FLT_EPSILON'
2017-08-26Remove unused `mrb_obj_iv_ifnone()` from API.Yukihiro "Matz" Matsumoto
2017-08-26Keep `Range` class in `mrb_state` structure for performance.Yukihiro "Matz" Matsumoto
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-22(Try to) fix mixture of `int` and `size_t` in UTF-8 conversion.Yukihiro "Matz" Matsumoto
This only effects VC.
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-18Improve Array structureMiura Hideki
2017-08-12Reduce integer type mismatch warnings in VC.Yukihiro "Matz" Matsumoto
2017-08-11Remove unnecessary inline function `ary_elt`.Yukihiro "Matz" Matsumoto
And the function does not conform the naming convention anyway.
2017-08-11Remove `mrb_ary_len` function. Use `RARRAY_LEN` instead.Yukihiro "Matz" Matsumoto
2017-08-11Update document comment of array C API functions.Yukihiro "Matz" Matsumoto
2017-08-11The type of `ARY_EMBED_LEN` should be `mrb_int`.Yukihiro "Matz" Matsumoto
2017-08-09Replaced tabs with spacesChristopher Aue
2017-08-01Better class name management.Yukihiro "Matz" Matsumoto
The change removes several internal instance variables used by class name management. The variables `__classid__` and `__classpath__` are no longer available. `__outer__` is used only for unnamed outer classes/modules (and will be removed after they are named). [Important note] Along with this change we removed several public functions. - mrb_class_outer_module() - mrb_class_sym() We believe no one have used those functions, but if you do, please ask us for the workaround.
2017-08-01Implements `Module::nesting' (15.2.2.3.2); ref #600, #3200Yukihiro "Matz" Matsumoto
2017-07-28Extended Module#const_get to support class pathsChristopher Aue
2017-07-28Added mrb_str_index to the mrb APIChristopher Aue
2017-07-27Always use `MRB_USE_IV_SEGLIST`.Yukihiro "Matz" Matsumoto
2017-07-27Embed 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-18Simplify `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-11`POSFIXABLE` and `NEGFIXABLE` should take one argument.Yukihiro "Matz" Matsumoto
2017-07-10Resurrect `POSFIXABLE` and `NEGFIXABLE`; ref 9186828Yukihiro "Matz" Matsumoto
2017-07-07Add fallback definitions of `DBL_EPSILPN` and `LDBL_EPSILON`; fix #3733Yukihiro "Matz" Matsumoto
This is a workaround for mingw-w64 (5.3.1) bug.
2017-07-06`FIXABLE_FLOAT()` fails sometimes in `MRB_INT64` environment.Yukihiro "Matz" Matsumoto
2017-07-04Merge pull request #3726 from mruby/stableYukihiro "Matz" Matsumoto
mruby-1.3.0
2017-07-04Set the mruby-1.3.0 release date to `2017-7-4`.1.3.0Hiroshi Mimaki
2017-06-28Provide better way to check compile errors.Yukihiro "Matz" Matsumoto
Now you can just call `mrb_load_*` functions then check `context->parser_nerr > 0` if the return value is `undef`, instead of calling `mrb_parse_*` functions independently. ref #3248 #3331
2017-06-28Revert "Make `mrb_load_exec` a static function."Yukihiro "Matz" Matsumoto
This reverts commit 7944d9a6d4ccb94189f37d307d384ed1cfe33e17. Because it voids #3248 and #3331. But we should add better way to check whether compile errors occur without duplicated callings.
2017-06-23Make `mrb_load_exec` a static function.Yukihiro "Matz" Matsumoto
2017-06-23Silence `mrbmemcpy` and `mrbmemset` warnings.Yukihiro "Matz" Matsumoto
2017-06-19Increment the version number to `1.3.0`.Yukihiro "Matz" Matsumoto
2017-06-19Increment `RITE_BINARY_FORMAT_VER`.Yukihiro "Matz" Matsumoto
The behavior of `OP_RAISE` has been changed.
2017-06-19Use `mrb_int` instead of `int` as argument to `mrb_hash_new_capa`.Yukihiro "Matz" Matsumoto
2017-06-16Allow `break` from a block called by `mrb_yield`; close #3359Yukihiro "Matz" Matsumoto
This means #3701 is now OK to merge.
2017-06-15Add helper functions to use gdb reverse-next.Yukihiro "Matz" Matsumoto
On my machine, gdb reverse-next does not work with memcpy and memset. Add naive implementation of those functions to override.
2017-06-03Revert "Simplify rescue stack management; ref #3683"Yukihiro "Matz" Matsumoto
This reverts commit eb5a606fe209944d0757301edb331ed7ff0fd31f and 079f310fbc9c23b97f062230c32bd91ac65e4835. The rescue stack works differently from ensure stack, so the change caused #3686 and #3688. It might take long to solve the problems, so that I would revert the changes for now. Fix #3688
2017-06-03Add checks for `break from proc-closure`; fix #3640Yukihiro "Matz" Matsumoto
2017-06-01Simplify rescue stack management; ref #3683Yukihiro "Matz" Matsumoto
2017-06-01Simplify ensure stack management; fix #3683Yukihiro "Matz" Matsumoto
2017-05-31Restore MRB_API function `mrb_exc_backtrace(mrb, exc)`; ref 9644ad5Yukihiro "Matz" Matsumoto
2017-05-30Avoid using C++ style comments (//).Yukihiro "Matz" Matsumoto
2017-05-26Add new range check macro FIXABLE_FLOAT(); ref #3652Yukihiro "Matz" Matsumoto
When MRB_INT64, valid value range of mrb_int is bigger than double, which only has 53 bits significant precision.
2017-05-26Add cast to `mrb_int` in `mrb_fixnum()` when MRB_WORD_BOXING.Yukihiro "Matz" Matsumoto
Without this cast, `long int:63` can cause warnings.
2017-05-23Simplify backtrace mechanism; fix #3633 #3634 #3644Yukihiro "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-05-23Remove class info from backtrace lines.Yukihiro "Matz" Matsumoto
2017-04-25Add macOS support to mrb_ro_data_pAsmod4n
This adds macOS support to mrb_ro_data_p, fixes #3636
2017-04-25Prevent GC during `each_object`; fix #3616Yukihiro "Matz" Matsumoto