| 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-03 | Merge pull request #5397 from dearblue/c++dump | Yukihiro "Matz" Matsumoto | |
| Fix build failures with `enable_debug` and `enable_cxx_abi` | |||
| 2021-04-03 | Merge pull request #5398 from jbampton/fix-authors-link | Yukihiro "Matz" Matsumoto | |
| Fix the Authors link in the README | |||
| 2021-04-03 | Merge pull request #5399 from jbampton/fix-spelling | Yukihiro "Matz" Matsumoto | |
| chore: fix spelling | |||
| 2021-04-03 | chore: fix spelling | John Bampton | |
| 2021-04-03 | Fix the Authors link in the README | John Bampton | |
| 2021-04-03 | Fix build failures with `enable_debug` and `enable_cxx_abi` | dearblue | |
| Under C++, there is no implicit conversion from `int` to `enum`, which caused a compilation error. | |||
| 2021-04-02 | Merge branch 'shuujii-define-MRB_NO_GEMS-if-disable_libmruby-is-specified' | Yukihiro "Matz" Matsumoto | |
| 2021-04-02 | Merge branch 'define-MRB_NO_GEMS-if-disable_libmruby-is-specified' of ↵ | Yukihiro "Matz" Matsumoto | |
| https://github.com/shuujii/mruby into shuujii-define-MRB_NO_GEMS-if-disable_libmruby-is-specified | |||
| 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-04-01 | vm.c: change the default error message for undefined `super` method. | Yukihiro "Matz" Matsumoto | |
| - (old) `undefined method 'foo'` - (new) `no superclass method 'foo'` | |||
| 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 | backtrace.c: change `missing-lineno` to `0` for cosmetic reason; #5394 | 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 | vm.c: resolve `int` and `mrb_int` mixture. | Yukihiro "Matz" Matsumoto | |
| 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-31 | Merge pull request #5395 from fundamental/mrbc-debug-cstruct | Yukihiro "Matz" Matsumoto | |
| mrbc: Dump debug info with -g option | |||
| 2021-03-30 | Disable tests on backtraces w/ unknown line numbers | fundamental | |
| 2021-03-30 | mrbc: Dump debug info with -g option | fundamental | |
| Adds debug source information (line/file) when mrbc uses -g. This commit results in usable backtraces for all gems when build_config is setup with enable_debug. | |||
| 2021-03-30 | Add support for partial backtraces | fundamental | |
| When debug information is omitted within ireps, show that a stack frame existed rather than silently hiding it. | |||
| 2021-03-29 | src/vm.c: calling C function may raise global jumps; fix #5391 | Yukihiro "Matz" Matsumoto | |
| 2021-03-29 | Merge pull request #5392 from mruby/revert-5391-throw | Yukihiro "Matz" Matsumoto | |
| Revert "Fix `SIGSEGV` with mruby-method + mruby-catch" | |||
| 2021-03-29 | Revert "Fix `SIGSEGV` with mruby-method + mruby-catch"revert-5391-throw | Yukihiro "Matz" Matsumoto | |
| 2021-03-29 | Merge pull request #5391 from dearblue/throw | Yukihiro "Matz" Matsumoto | |
| Fix `SIGSEGV` with mruby-method + mruby-catch | |||
| 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 | Fix `SIGSEGV` with mruby-method + mruby-catch | dearblue | |
| Previously, the following code would cause a `SIGSEGV`. ```ruby mm = method(:throw) define_method(:throw, ->(*args) { mm.call(*args) }) catch { |tag| throw tag } ``` I think the reason is in the `mrb_yield_with_class()` function: - Even if a C function is called, `CI_ACC_SKIP` is used - `cipop()` is not done if globally jumping from a C function | |||
| 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 | |
