summaryrefslogtreecommitdiffhomepage
path: root/include
AgeCommit message (Collapse)Author
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
2017-01-11Raises Exception if raising exception class is redefinedYukihiro "Matz" Matsumoto
close #3384 This issue was reported by https://hackerone.com/brakhane
2017-01-06Update Copyright to 2017Daniel Bovensiepen
Signed-off-by: Daniel Bovensiepen <[email protected]>
2016-12-12rename prefix RBASIC_ to MRB_; ref #3340Yukihiro "Matz" Matsumoto
2016-12-11Implement Object#freezeTakashi Kokubun
2016-12-08Merge pull request #3335 from mattn/fix-vs2013Yukihiro "Matz" Matsumoto
fix build on vs2013-vs2015
2016-12-08fix build on vs2013-vs2015Yasuhiro Matsumoto
2016-12-07Promote load_exec to mruby API as mrb_load_exec (fixes #3248)Tomasz Dąbrowski
2016-12-07set `MRB_64BIT` if the sizeof(size_t) is 8Kazuho Oku
2016-12-03Import locale insensitive strtod() from Ruby1.8; fix #3270Yukihiro "Matz" Matsumoto
The function was renamed to `mrb_float_read(const char*, char**)`.
2016-12-03Check before retrieving struct RRange pointer; fix #3320Yukihiro "Matz" Matsumoto
range->edges may be NULL for example when #initialize_copy removed.
2016-11-28pre-allocate arena overflow errorYukihiro "Matz" Matsumoto
2016-11-27Merge pull request #3301 from dabroz/feature-64-bit-wordYukihiro "Matz" Matsumoto
Safeguard against using MRB_INT64 with MRB_WORD_BOXING in 32-bit mode
2016-11-27replace _cstr by _lit for litral C strings; ref #3300Yukihiro "Matz" Matsumoto
2016-11-27Safeguard against using MRB_INT64 with MRB_WORD_BOXING in 32-bit modeTomasz Dabrowski
2016-11-27Added documentation on function for globalsHerwin Weststrate
2016-11-26Fixed NaN boxing when MRB_INT16 is setTomasz Dąbrowski
2016-11-25Fix typo in istruct.hTomasz Dąbrowski
2016-11-24Fixed Range.size to use proper floating point toleranceTomasz Dąbrowski
2016-11-24Different method of compiling C as C++ (-x c++)Tomasz Dąbrowski
2016-11-24Safeguard against trying to use C++ exception handling in C codeTomasz Dąbrowski
2016-11-24Fixes for compiling mruby as C++Tomasz Dąbrowski
2016-11-22Fixed extern "C" to use MRB_BEGIN/END_DECL in re.hTomasz Dąbrowski
2016-11-21asserts checking validity of pointer and TT added for mrb_obj_valueTomasz Dąbrowski
Useful for testing when using boxing on different platforms.
2016-11-21mrb_assert definition moved to the beggining of mruby.hTomasz Dąbrowski
So that other files can immediately use it.
2016-11-21Fixed NaN boxing for 64-bit configrations on platforms that use full 48-bit ↵Tomasz Dąbrowski
usermode pointers Definition of boxed pointer is following: `111111111111TTTT TTPPPPPPPPPPPPPP PPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPP` Previously, only the last 32-bit were set, and remaining 14 bits were zeroed when setting `ttt`.
2016-11-21mruby architecture detectionTomasz Dąbrowski
2016-11-17Documented most methods in mruby/hash.hHerwin Weststrate
2016-11-17Documented most methods in mruby/array.hHerwin Weststrate