1. 15 Apr, 2021 1 commit
  2. 13 Apr, 2021 4 commits
  3. 12 Apr, 2021 5 commits
  4. 10 Apr, 2021 7 commits
  5. 09 Apr, 2021 2 commits
  6. 07 Apr, 2021 6 commits
  7. 06 Apr, 2021 8 commits
  8. 05 Apr, 2021 1 commit
  9. 04 Apr, 2021 2 commits
  10. 03 Apr, 2021 4 commits
    • dearblue's avatar
      Reorganize `mcall()` in `mruby-method`. · 4c196dcd
      dearblue authored
      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)
      ```
      4c196dcd
    • dearblue's avatar
      Make `mrb_exec_irep()` allow non-VM to enter. · dd34ac64
      dearblue authored
      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()`.
      dd34ac64
    • John Bampton's avatar
      chore: fix spelling · d8622fc6
      John Bampton authored
      d8622fc6
    • Yukihiro "Matz" Matsumoto's avatar
      Merge pull request #5397 from dearblue/c++dump · fb8e12f3
      Yukihiro "Matz" Matsumoto authored
      Fix build failures with `enable_debug` and `enable_cxx_abi`
      fb8e12f3