| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-10-12 | Use `MRB_INT_MAX` instead of `INT_MAX` according to variable type. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Remove duplicated pattern | Kondo Uchio | |
| 2020-10-12 | Scan ruby files in directories | Uchio Kondo | |
| 2020-10-12 | Exact match to allowed method/variable names | Kondo Uchio | |
| 2020-10-12 | Ensure exact match for symbols like foo!/foo?/foo= | Uchio Kondo | |
| e.g. symbols like "foo[]=" make invalid C codes | |||
| 2020-10-12 | Skip C comments from scan target; close #5072 | Yukihiro "Matz" Matsumoto | |
| The original PR was skipping Ruby comments as well, but caused some issues in test suites. | |||
| 2020-10-12 | Restore old function names for compatibility; ref #5070 | Yukihiro "Matz" Matsumoto | |
| - `mrb_check_intern()` to return `mrb_value` - `mrb_intern_check()` to return `mrb_sym` [NEW] Other new functions: - `mrb_intern_check_cstr()` - `mrb_intern_check_str()` | |||
| 2020-10-12 | Scan source code lines from downloaded mrbgems; fix #5071 | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Restore old function names for compatibility; fix #5070 | Yukihiro "Matz" Matsumoto | |
| Rename new functions: - `mrb_convert_type(mrb,val,type,tname,method)` => `mrb_type_convert(mrb,val,type,tname,method)` - `mrb_check_convert_type(mrb,val,type,tname,method)` => `mrb_type_convert_check(mrb,val,type,tname,method)` Old names are defined by macros (support `tname` drop and `char*` => `mrb_sym` conversion). | |||
| 2020-10-12 | Fix integer casting on 64 bit platforms. | Yukihiro "Matz" Matsumoto | |
| On platforms where `sizeof(long)` is 4, casting `(long)` can lose data or sign information. | |||
| 2020-10-12 | Fix warning from VC regarding implicit int conversion. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Made `Rational` overhaul. | Yukihiro "Matz" Matsumoto | |
| - Implement `Rational()` in `C`. - Use `float` to `rational` conversion function taken from: https://rosettacode.org/wiki/Convert_decimal_number_to_rational#C | |||
| 2020-10-12 | Avoid `unsigned int`; Use `mrb_int` instead. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Use `mrb_int` extensively instead of `int`. | Yukihiro "Matz" Matsumoto | |
| The mixture causes warnings on 64 bit Windows (VC). | |||
| 2020-10-12 | Use `goto` to avoid problems with `DIRECT_THREADED`. | Yukihiro "Matz" Matsumoto | |
| You can now use `NEXT` within `switch` statement like 7c087eb. | |||
| 2020-10-12 | Extract `div` code in VM and make them shared by `div` methods. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Don't use `NEXT` within `switch` statement. | Yukihiro "Matz" Matsumoto | |
| On non-`gcc` compatible environment, `NEXT` is translated to `break`. | |||
| 2020-10-12 | Remove meaningless `IO.open(1<<32)` test. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Skip some `Math.atan2()` tests. | Yukihiro "Matz" Matsumoto | |
| Linux `atan2(3)` man page says: ``` If y is positive infinity (negative infinity) and x is positive infinity, +pi/4 (-pi/4) is re‐ turned. ``` But on Microsoft VC/MinGW, `atan2()` returns `NaN` if either of arguments is infinite. So we skip those tests on the platforms. | |||
| 2020-10-12 | Explain `MRB_USE_MALLOC_TRIM`; ref #5069 | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Remove compiler feature detection | Rory OConnell | |
| 2020-10-12 | Better malloc_trim define name | Rory OConnell | |
| 2020-10-12 | Work around removing tmp dir | Rory OConnell | |
| 2020-10-12 | Add call to malloc_trim on a full GC | Rory OConnell | |
| 2020-10-12 | Add methods for asking about compiler features | Rory OConnell | |
| 2020-10-12 | Remove obsolete `MRB_WITHOUT_FLOAT` macro from `numeric.c`. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Change some `int` variables to `mrb_int`. | Yukihiro "Matz" Matsumoto | |
| To silence some warnings. This change cancels part of 7ef3604134. | |||
| 2020-10-12 | Remove `full-core` from `target/appveyor.rb`. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Update `IO#popen` to use keyword arguments instead of `Hash` args. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Update `mrb_get_args()` keyword argument support [incompatible] | Yukihiro "Matz" Matsumoto | |
| * `mrb_kwargs` structure reordered (`values` and `rest` come last) * take symbols instead of C `char*` | |||
| 2020-10-12 | Separate jump destination check in `OP_R_RETURN`. | Yukihiro "Matz" Matsumoto | |
| In the past code, the current `callinfo (ci)` was modified, thus it was possible to pop `ci` beyond the `cibase`, that could cause out of memory bound access for the code like the following: ```ruby def m2 lambda { Proc.new { return :return # return from the method } }.call.call :never_reached end p m2 ``` | |||
| 2020-10-12 | Make the scope of `const struct RProc *dst` narrower. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Redefine `CHECKPOINT_*` macros. | Yukihiro "Matz" Matsumoto | |
| By definition `mrb_assert()` called only when `MRB_DEBUG` is defined too. But make I wanted to make clear that the local variable `current_checkpoint_tag` is only accessed when `MRB_DEBUG` is set by wrapping with `DEBUG_ONLY_EXPR()`. | |||
| 2020-10-12 | Include `mruby/endian.h` only when `MRB_NO_FLOAT` is undefined. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Abandon packing all lower case symbols with 6 characters. | Yukihiro "Matz" Matsumoto | |
| To make packed inline symbols within 31 bits, because the new method hash tables allows only 31 bits of symbols. They use top 1 bit to maek unused slots. | |||
| 2020-10-12 | Add `U` prefix for `mrb_sym` dump. | Yukihiro "Matz" Matsumoto | |
| Since `%u` of `mrb_sym` may be its MSB turned on. | |||
| 2020-10-12 | Don't compare `int' with `size_t` (from `sizeof()`). | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Use `mrb_integer()` instead of `mrb_int()`. | Yukihiro "Matz" Matsumoto | |
| `mrb_int()` includes implicit integer conversion, where `mrb_integer()` does not. In this case, we know `obj` is an integer before hand. | |||
| 2020-10-12 | Silence warnings from implicit integer conversions. | Yukihiro "Matz" Matsumoto | |
| Caused from combination of `mrb_int`, `int` and `size_t`.. | |||
| 2020-10-12 | Add a new gem: `mruby-catch`. | Yukihiro "Matz" Matsumoto | |
| Implements `catch`/`throw` non-local jump inherited from Lisp. `catch([tag]) {|tag| block } -> obj` Example: ``` catch(:foo) { 123 } # => 123 catch(:foo) { throw(:foo, 456) } # => 456 catch(:foo) { throw(:foo) } # => nil ``` | |||
| 2020-10-12 | Change float representation in `mrb` binary files. | Yukihiro "Matz" Matsumoto | |
| From human readable (ASCII) string representation to binary dump of IEEE754 in little endian. | |||
| 2020-10-12 | Replace the implementation of method tables in classes/modules. | Yukihiro "Matz" Matsumoto | |
| They are basically the copy of instance variable tables. On my Linux box, memory consumption of `mrbtest` measured by `valgrind` is: - old: 17,683,830 bytes - new: 14,283,749 bytes | |||
| 2020-10-12 | Stop warning on 64 bit platforms. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Raname `mrb_exc_new_str_lit()` to `mrb_exc_new_lit()`. | Yukihiro "Matz" Matsumoto | |
| It uses `mrb_str_new_lit()` internally, but it doesn't need to express it in the name of the function (macro). | |||
| 2020-10-12 | Handle integer overflow in `rational_s_new`. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Handle potential overflow in `int_div` and `flo_idiv`. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Use `mrb_int_value()` instead of `mrb_fixnum_value()`. | Yukihiro "Matz" Matsumoto | |
| Where fixnum overflow can happen. | |||
| 2020-10-12 | Add `MRB_NAN_BOXING` for `boxing` target. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Add `mrb_integer()` definition for `MRB_NAN_BOXING`. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Update `mruby-random` gem to support 32 bit platforms. | Yukihiro "Matz" Matsumoto | |
| `sizeof(rand_state)` had been bigger than `sizeof(void*)*3`. Changed random number generator to `Xorshift96` on 32 bit platforms. | |||
