summaryrefslogtreecommitdiffhomepage
path: root/include
AgeCommit message (Collapse)Author
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
2017-04-22Keep reference to mrb_context from env; fix #3619Yukihiro "Matz" Matsumoto
2017-04-20Allow `mrb_objspace_each_objects()` to break iteration; ref #3359Yukihiro "Matz" Matsumoto
2017-04-19Use trampoline technique for `instance_exec`; ref #3359Yukihiro "Matz" Matsumoto
A new function `mrb_yield_cont()` is provided. You have to call it at the end of a C defined method, e.g. `return mrb_yield_cont()`.
2017-04-03Unify `else` clause styleYukihiro "Matz" Matsumoto
2017-03-12Enhance OP_RESCUE to take B operand fas matching exception; ref #3487Yukihiro "Matz" Matsumoto
2017-03-11OP_RETRUN to take B as matching exception; ref #3487Yukihiro "Matz" Matsumoto
2017-03-02Use C++ ABI only when MRB_ENABLE_CXX_ABI is set; ref #3470Yukihiro "Matz" Matsumoto
2017-03-02Reorganize C++ exceptions; ref #3470Yukihiro "Matz" Matsumoto
There are 3 levels of C++ exception handling: * default - no C++ exception (use setjmp/longjmp) * enable_cxx_exception (use C++ exceptions with C ABI) * enable_cxx_abi (use C++ ABI including exceptions)
2017-02-16Build fix for 32-bit clang 3.8/3.9 with MRB_INT64Tomasz Dabrowski
2017-02-15Preallocate SystemStackError; ref #3421Yukihiro "Matz" Matsumoto
2017-02-14Do not use mrb_funcall() if Hash#default is not overridden; ref #3421Yukihiro "Matz" Matsumoto
This change reduces the recursion level, but does not solve the stack overflow issue entirely.
2017-01-25Clear (o).w first for MRB_WORD_BOXING; ref #3396Yukihiro "Matz" Matsumoto
2017-01-23Change return type of mrb_range_beg_len() from `int` to `mrb_int`.Yukihiro "Matz" Matsumoto
ref #3411
2017-01-23Fix a double free problem in codegen.c; fix #3378Yukihiro "Matz" Matsumoto
This issue was first reported by https://hackerone.com/geeknik The fix was proposed by @titanous
2017-01-23Changed the behavior of mrb_range_beg_len(); close #3411Yukihiro "Matz" Matsumoto
The new API is: int mrb_range_beg_len(mrb, range, &beg, &len, len, trunc) The new argument `trunc` is a boolean value that specifies whether the function truncates the range. The new return value is an integer instead of a boolean, that is: 0: not a range 1: range with proper edges 2: out of range To get the old behavior, you have to rewrite: mrb_range_beg_len(mrb, range, &beg, &len, len) to: mrn_range_beg_len(mrb, range, &beg, &len, len, TRUE) == 1 [Breaking Change]
2017-01-12Fix a typo.hhc0null