| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-04-03 | Reorganize `mcall()` in `mruby-method`. | dearblue | |
| Use `mrb_exec_irep()`. If possible, re-entry into the VM will be suppressed. Note that due to the effect of being a tail-call, the backtrace of `Method#call` will be lost, and it will look as if the target method was called directly. This change fixes the problem of infinite loops when redefining methods that make block calls using `mruby-method`. ```console % bin/mruby -e 'mm = method(:proc); define_method(:proc, ->(*a, &b) { mm.call(*a, &b) }); p proc { 1 }' trace (most recent call last): [257] -e:1 [256] -e:1:in proc [255] -e:1:in proc ...SNIP... [1] -e:1:in proc -e:1:in proc: stack level too deep (SystemStackError) ``` | |||
| 2021-04-03 | Make `mrb_exec_irep()` allow non-VM to enter. | dearblue | |
| Change the old `mrb_exec_irep()` as-is to static `mrb_exec_irep_vm()`. Extract the VM entry part from the old `exec_irep()` in `mruby-eval/src/eval.c` and make it the core of the new `mrb_exec_irep()`. | |||
| 2021-04-03 | chore: fix spelling | John Bampton | |
| 2021-04-02 | Merge pull request #5396 from shuujii/fix-build-with-MRB_USE_ALL_SYMBOLS | Yukihiro "Matz" Matsumoto | |
| Fix build with `MRB_USE_ALL_SYMBOLS` | |||
| 2021-03-31 | Fix build with `MRB_USE_ALL_SYMBOLS` | KOBAYASHI Shuji | |
| 2021-03-31 | codegen.c: `s->ainfo` should be zero along with `OP_ENTER(0)`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-31 | codegen.c: `yield` outside of method is now `SyntaxError`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-31 | Merge pull request #5394 from fundamental/partial-backtrace | Yukihiro "Matz" Matsumoto | |
| Add support for partial backtraces | |||
| 2021-03-31 | rational.c: add explicit cast from `mrb_int` to `mrb_float`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-31 | should have removed `codegen error:` prefix from the test. | Yukihiro "Matz" Matsumoto | |
| 2021-03-31 | codegen.c: remove `codegen error:` prefix from error messages. | Yukihiro "Matz" Matsumoto | |
| 2021-03-31 | codegen.c: `ainfo` may be negative. | Yukihiro "Matz" Matsumoto | |
| When argument information is not available. So it should not happen for `yield` (error). In contrast, the error from `super` should be handled in run time (ignored). | |||
| 2021-03-30 | Disable tests on backtraces w/ unknown line numbers | fundamental | |
| 2021-03-28 | numeric.c: function renaming. | Yukihiro "Matz" Matsumoto | |
| - `mrb_num_div_int(mrb,x,y)` -> `mrb_div_int(mrb,x,y)` - `mrb_num_div_flo(mrb,x,y)` -> `mrb_div_flo(x,y)` They are internal function not supposed to be used outside of the core. | |||
| 2021-03-27 | Move default `Integer#/` from `rational.c` to `complex.c`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-26 | complex.rb: add test for arithmetic operators. [ci skip] | Yukihiro "Matz" Matsumoto | |
| Tests for (`Float` or `Integer`) `op` `Complex`. Also added test dependency to `mruby-rational` since `int_div` definition relies on `Rational` when `MRB_USE_RATIONAL` is defined. | |||
| 2021-03-26 | rational.rb: add test for arithmetic operators. | Yukihiro "Matz" Matsumoto | |
| Tests for (`Float` or `Integer`) `op` `Rational`. | |||
| 2021-03-25 | rational.c: fix wrong `funcall` method in `rational_mul`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-25 | rational.c: inline `mrb_rational_eq()`. | Yukihiro "Matz" Matsumoto | |
| It removes non-static function, so that strictly saying, it's an incompatible change. But the function was added recently and I am sure no one uses it yet. | |||
| 2021-03-24 | rational.c: implement `Rational#<=>` in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | rational.c: implement `Rational#/` and `#quo` in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | rational.c: implement `Rational#*` in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | rational.c: implement `Rational#-` in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | fixup! rational.c: prepare utility function `rat_to_flo()`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | rational.c: prepare utility function `rat_to_flo()`. | Yukihiro "Matz" Matsumoto | |
| This function takes `struct mrb_rational*` and returns converted `mrb_float` value. | |||
| 2021-03-24 | rational.c: implement `Rational#+` in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | complex.c: use `mrb_num_div_flo` to avoid copying function. | Yukihiro "Matz" Matsumoto | |
| This change relies that `mrb_num_div_flo` does not use `mrb` inside. | |||
| 2021-03-24 | rational.c: check integer overflow in `rational_minus`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | complex.rb: unary plus (`+@`) to return self avoiding copying. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | complex.c: implement `Complex` addition and subtraction in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | complex.c: override float division to support `Complex`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | Use `div_flo` (copy of `mrb_num_div_flo`) for float division. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | Use `mrb_num_div_flo` for float division. | Yukihiro "Matz" Matsumoto | |
| This function handles zero division properly. Also fixed bugs that multiply numbers instead of division. | |||
| 2021-03-24 | Fix infinite recursive call bugs in integer division. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | complex.c: implement `Complex#/` and `#quo` in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | complex.c: implement `Complex#*` in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | rational.rb: avoid 'NaNi` representation. | Yukihiro "Matz" Matsumoto | |
| Use `NaN*i` as CRuby does. | |||
| 2021-03-22 | Merge pull request #5387 from shuujii/use-global-defines-for-mruby-bin-debugger | Yukihiro "Matz" Matsumoto | |
| Use global defines for `mruby-bin-debugger` | |||
| 2021-03-22 | Reorganize types for `ObjectSpace.count_objects` | KOBAYASHI Shuji | |
| #### Addition - T_COMPLEX - T_RATIONAL #### Deletion - T_FALSE - T_FREE - T_TRUE - T_SYMBOL - T_UNDEF | |||
| 2021-03-22 | Use global defines for `mruby-bin-debugger` | KOBAYASHI Shuji | |
| 2021-03-22 | Use global defines for `Rational` and `Complex`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-22 | codegen.c: fix integer size warnings. | Yukihiro "Matz" Matsumoto | |
| along with repeated calls of `strlen()`. | |||
| 2021-03-21 | complex.c: define `Complex#==` in C. | Yukihiro "Matz" Matsumoto | |
| This change also fixes the error caused by `rational.c` that calls `mrb_complex_eq()`, which had been undefined. | |||
| 2021-03-21 | memsize.c: handle `MRB_TT_RATIONAL` and `MRB_TT_COMPLEX`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-20 | rational.c: fix `MRB_TT_RATIONAL` and `MRB_TT_COMPLEX` confusion. | Yukihiro "Matz" Matsumoto | |
| 2021-03-20 | random.c: fixed seed underflow bug. | Yukihiro "Matz" Matsumoto | |
| `MRB_INT_MIN` does not have a corresponding positive value. | |||
| 2021-03-19 | complex.c: overhaul complex operators. | Yukihiro "Matz" Matsumoto | |
| - define `MRB_TT_COMPLEX` - change object structure (`struct RComplex`) - add memory management for `MRB_TT_COMPLEX` - avoid operator overloading as much as possible - as a result, performance improved a log - should work with and without `Rational` defined | |||
| 2021-03-19 | rational.c: overhaul rational operators. | Yukihiro "Matz" Matsumoto | |
| - define `MRB_TT_RATIONAL` - change object structure (`struct RRational`) - add memory management for `MRB_TT_RATIONAL` - avoid operator overloading as much as possible - implement division overloading in C - as a result, performance improved a lot | |||
| 2021-03-14 | time.c: calendar clock should use `CLOCK_REALTIME`; 5e95f11 | Yukihiro "Matz" Matsumoto | |
| The issue was reported by @shuujii | |||
| 2021-03-13 | codegen.c: fix memory leak from `new_litbn()`. | Yukihiro "Matz" Matsumoto | |
