| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 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. | |||
| 2020-10-12 | Reorganize `Integer` system. | Yukihiro "Matz" Matsumoto | |
| - Integrate `Fixnum` and `Integer` - Remove `Integral` - `int / int -> int` - Replace `mrb_fixnum()` to `mrb_int()` - Replace `mrb_fixnum_value()` to `mrb_int_value()`. - Use `mrb_integer_p()` instead of `mrb_fixnum_p()` | |||
| 2020-10-12 | Remove unnecessary assignment in String#upto | n4o847 | |
| Co-authored-by: taiyoslime <[email protected]> Co-authored-by: smallkirby <[email protected]> | |||
| 2020-10-12 | Update build process for both host and cross compile. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Describe the need for `-o` option if multi files given. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Update usage description of `mrbc`. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Update `Rakefile`. | Yukihiro "Matz" Matsumoto | |
| So that you can omit `host` target. Now `host-debug` works. | |||
| 2020-10-12 | "backport" CRuby r46756; ref #3500 | Yukihiro "Matz" Matsumoto | |
| Based on cremno/mruby@6bd0119 | |||
| 2020-10-12 | Change the return type of `mrb_check_intern()` and friends. | Yukihiro "Matz" Matsumoto | |
| They used to return `mrb_value` but now return `mrb_sym` for consistency with other `intern` functions. If symbols are not defined, `check` functions return `0`, instead of `nil` in the past. It causes API incompatibility but I believe few people use those functions out of the core, and those changes are very easy to handle, hopefully. | |||
| 2020-10-12 | Avoid using `mrb_check_intern_str()`. | Yukihiro "Matz" Matsumoto | |
| We call `mrb_intern_str()` later anyway, so there's no need to avoid defining a new symbol here. | |||
| 2020-10-12 | "backport" CRuby r46656; #2500 | Yukihiro "Matz" Matsumoto | |
| Based on cremno/mruby@d446192 | |||
| 2020-10-12 | Remove `MRB_NO_FLOAT_INLINE` and `MRB_WBOX_FLOAT_INLINE` configuration. | Yukihiro "Matz" Matsumoto | |
| They are not used from the beginning. | |||
| 2020-10-12 | Fixed ISO section numbers in `test/t/superclass.rb`. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Make division by zero cause `ZeroDivisionError`. | Yukihiro "Matz" Matsumoto | |
| As described in ISO 15.2.30. | |||
| 2020-10-12 | Fixed wrong size calculation for `memsize_of()`. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Rename `MRB_TT_FIXNUM` to `MRB_TT_INTEGER`. | Yukihiro "Matz" Matsumoto | |
| We still have `#define MRB_TT_FIXNUM MRB_TT_INTEGER` for compatibility. | |||
| 2020-10-12 | change linkage to internal | cremno | |
| 2020-10-12 | define sprintf and format as global functions | cremno | |
| 2020-10-12 | move mrbgem initialization into sprintf.c | cremno | |
| Also remove some unnecessary code. | |||
| 2020-10-12 | Add tests for CRuby bug #9982 | cremno | |
| https://bugs.ruby-lang.org/issues/9982 | |||
| 2020-10-12 | Always add trailing `.0` in `Float#inspect`; ref #4225 | KOBAYASHI Shuji | |
| Trailing `.0` is removed from `Float#to_s` and `Float#inspect` at 9d08025b. However, I think the more human-readable format is better for `Float#inspect`. For example, in the `Float#to_s` format, the failure message is not well understood when testing values including types by `eql?` (e.g. `Numeric#step` test). ```ruby assert "example" do exp = 1.0 act = 1 assert_operator(exp, :eql?, act) #=> Expected 1 to be eql? 1. end ``` | |||
| 2020-10-12 | Rename `mruby_version` in the lockfile to `mruby`; close #4658 | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Integrate `Fixnum` class into `Integer` class | dearblue | |
| * The `Fixnum` constant is now an alias for the `Integer` class. * Remove `struct mrb_state::fixnum_class` member. If necessary, use `struct mrb_state::integer_class` instead. | |||
| 2020-10-12 | Fix `Fixnum` and `Float` comparison in `Hash` lookup | KOBAYASHI Shuji | |
| ```console $ bin/mruby -e 'p({1 => 2}.key?(1.0))' true ``` ```console $ bin/mruby -e 'p({1 => 2}.key?(1.0))' false ``` | |||
