| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-07-29 | Fix the VM stack handling bug in 'mrb_yield_with_class()`; fix #5042 | Yukihiro "Matz" Matsumoto | |
| 2020-06-25 | Remove unnecessary stack adjustment in `OP_CALL`. | Yukihiro "Matz" Matsumoto | |
| 2020-06-25 | Change flag names in preparation of `REnv` refactoring. | Yukihiro "Matz" Matsumoto | |
| 2020-05-28 | Check `c->eidx` before decrement in `ecall()`; close #4977 | Yukihiro "Matz" Matsumoto | |
| 2020-05-24 | Do not destruct rest arguments for __send__ | Yusuke Endoh | |
| Formerly, `__send__(*args)` modified `args` with `Array#shift`. This bug affects optcarrot. This changeset avoids the array destruction by using `args = args[1, len-1]`. | |||
| 2020-05-10 | Get an irep symbol if it's `OP_GETSV` or `OP_SETSV` | dearblue | |
| 2020-05-07 | Add a new instruction `OP_LOADI16`. | Yukihiro "Matz" Matsumoto | |
| Which loads 16bit integer to the register. The instruction number should be reorder on massive instruction refactoring. The instruction is added for `mruby/c` which had performance issue with `OP_EXT`. With this instruction, `mruby/c` VM can just raise errors on `OP_EXT` extension instructions. | |||
| 2020-05-07 | Remove `mrb_run` from `MRB_API`; #4488 | Yukihiro "Matz" Matsumoto | |
| `mrb_run` requires to push callinfo stack before calling, which is very hard from outside of `vm.c`. So there should be virtually no correct usage of the function, hence the cause of #4488. We removed it. You can use `mrb_top_run(mrb, proc, self, 0)` instead of `mrb_run(mrb, proc self)`. | |||
| 2020-04-22 | Make `mrb_obj_instance_eval` to use `mrb_singleton_class_ptr`; #4973 | Yukihiro "Matz" Matsumoto | |
| 2020-04-21 | Fix the bug by `#instance_eval` called via a method object; fix #4973 | Yukihiro "Matz" Matsumoto | |
| The tranpoline code in 6a0b68f8b was wrong; reverted. | |||
| 2020-04-21 | Simplified `mrb_obj_instance_eval`; ref #4973 | Yukihiro "Matz" Matsumoto | |
| 2020-03-31 | Fix `mrb_funcall_with_block()` uses more GC arena | dearblue | |
| If `mrb->jmp` is `NULL` and the function `mrb_funcall_with_block()` is called, GC Arena is returned from the function with over-used. - A normal (no global exodus) return will consume two GC Arena's. - In the event of an exception, five GC Arena are consumed. This patch reduces consumption in both cases to one. | |||
| 2020-01-29 | Removed junk. | Yukihiro "Matz" Matsumoto | |
| My cat stepped on the keyboard at the last moment before the commit. | |||
| 2020-01-29 | Remove unused local variable `mid`; ref #4936 | Yukihiro "Matz" Matsumoto | |
| 2020-01-27 | Fixed backtrace message for top-level blocks; fix #4936 | Yukihiro "Matz" Matsumoto | |
| In top-level, `mid` is `NULL`. We used to ignore 'mid` update for `NULL`. | |||
| 2020-01-08 | Add `MRB_WITHOUT_FLOAT` guard to `<math.h>`. | Yukihiro "Matz" Matsumoto | |
| 2019-09-26 | Use type predicate macros instead of `mrb_type` if possible | KOBAYASHI Shuji | |
| For efficiency with `MRB_WORD_BOXING` (implement type predicate macros for all `enum mrb_vtype`). | |||
| 2019-09-25 | Rename symbol-to-string functions; close #4684 | Yukihiro "Matz" Matsumoto | |
| * mrb_sym2name -> mrb_sym_name * mrb_sym2name_len -> mrb_sym_name_len * mrb_sym2str -> mrb_sym_str | |||
| 2019-09-18 | Fix `super` from aliased methods to work correctly; fix #4718 | Yukihiro "Matz" Matsumoto | |
| We needed to preserve the original method name somewhere. We kept it in the `env` structure pointed from aliased methods. #1457 and #1531 tried to address this issue. But this patch is more memory efficient. Limitation: this fix does not support `super` from methods defined by `define_method`. This limitation may be addressed in the future, but it's low priority. | |||
| 2019-09-16 | Raise `ArgumentError` by `aspec` check; ref #4688 | Yukihiro "Matz" Matsumoto | |
| This is partial `aspec` check that only checks `MRB_ARGS_NONE()`. | |||
| 2019-08-23 | Fix `RBreak` exceeding 6 words on 32-bit mode w/o boxing and `MRB_USE_FLOAT` | KOBAYASHI Shuji | |
| ref: https://github.com/mruby/mruby/pull/4483#issuecomment-498001736 In this configuration, `tt` of `RBreak::val` is set into `RBreak::flags`. | |||
| 2019-08-18 | Prohibit changes to iseq in principle | dearblue | |
| 2019-08-16 | Avoid creating unnecessary empty arrays on splat. | Yukihiro "Matz" Matsumoto | |
| But this changes requires `OP_ARYCAT` and `OP_ARYPUSH` to accept `nil` as their first operand. Alternative VMs (e.g. `mruby/c`) that understand mruby bytecode need to be updated. | |||
| 2019-08-05 | Use new specifiers/modifiers of `mrb_vfromat()` | KOBAYASHI Shuji | |
| The binary sizes (gems are only `mruby-bin-mruby`) are reduced slightly in my environment than before the introduction of new specifiers/modifiers (5116789a) with this change. ------------+-------------------+-------------------+-------- BINARY | BEFORE (5116789a) | AFTER (This PR) | RATIO ------------+-------------------+-------------------+-------- mruby | 593416 bytes | 593208 bytes | -0.04% libmruby.a | 769048 bytes | 767264 bytes | -0.23% ------------+-------------------+-------------------+-------- BTW, I accidentally changed `tasks/toolchains/visualcpp.rake` at #4613, so I put it back. | |||
| 2019-07-18 | Clear `env` before top-level execution; fix #4581 | Yukihiro "Matz" Matsumoto | |
| 2019-05-26 | Move `mrb_mod_s_nesting()` to `mruby-metaprog` gem from the core | KOBAYASHI Shuji | |
| 2019-04-23 | Fixed the condition in `mrb_funcall_with_block`; fix #4389 | Yukihiro "Matz" Matsumoto | |
| 2019-04-16 | Fixed a bug in recursive `mrb_top_run` calls; fix #4384 | Yukihiro "Matz" Matsumoto | |
| 2019-04-14 | Extract similar codes to macros for math opcode in `mrb_vm_exec` | KOBAYASHI Shuji | |
| 2019-04-13 | Fix broken NaN with `MRB_NAN_BOXING` | KOBAYASHI Shuji | |
| Example: $ bin/mruby -e '(Float::INFINITY - Float::INFINITY).nan?' zsh: segmentation fault Cause: `SET_FLOAT_VALUE` is not used. It is needed for normalizing NaN. Treatment: In my environment, this issue could be reproduced only when `infinity - infinity`, however `SET_FLOAT_VALUE` should be used in all arithmetic operations (regardless of boxing setting), I think. So I fixed all similar codes by extracting to macro. | |||
| 2019-04-12 | Small refactoring in `mrb_funcall_with_block`. | Yukihiro "Matz" Matsumoto | |
| 2019-04-06 | Remove unused `mrb_proc_cfunc_p()` | KOBAYASHI Shuji | |
| 2019-03-26 | Fix missing `MRB_API` prefix for functions below; clse #4267 | Yukihiro "Matz" Matsumoto | |
| Functions to add prototypes to headers: * mrb_ary_splice() * mrb_notimplement() * mrb_vformat() * mrb_cstr_to_dbl() * mrb_cstr_to_inum() Functions to be made `static` (`MRB_API` was not needed): * mrb_mod_module_function() * mrb_obj_hash() * mrb_str_len_to_inum() Functions to remove `MRB_API` from definitions (referenced from within `libmruby`): * mrb_mod_cv_defined() * mrb_mod_cv_get() * mrb_f_send() | |||
| 2019-02-11 | No strict argument check for blocks when keyword arguments exist; ref #4270 | Yukihiro "Matz" Matsumoto | |
| 2018-12-23 | Suppress a struct initializer warning | KOBAYASHI Shuji | |
| Suppress a compiler (clang) warning bellow: src/vm.c:104:38: warning: suggest braces around initialization of subobject [-Wmissing-braces] const mrb_value mrb_value_zero = { 0 }; ^ {} | |||
| 2018-12-10 | Need to clear stack before invoking a block; fix #4181 | Yukihiro "Matz" Matsumoto | |
| 2018-11-20 | Restrict total recursion number of `ecall()`; fix #3789 | Yukihiro "Matz" Matsumoto | |
| 2018-11-19 | Add Hash type check for `OP_KARG` and `OP_KEY_P`; ref #4166 | Yukihiro "Matz" Matsumoto | |
| 2018-11-19 | The current context may be changed in `mrb_vm_exec`; ref #3668 #4104 | Yukihiro "Matz" Matsumoto | |
| 2018-11-19 | Protect Fiber from GC in `ecall()`; fix #4104 | Yukihiro "Matz" Matsumoto | |
| 2018-11-15 | The saved `pc` from `ERR_PC_SET` was wrong; fix #4138 | Yukihiro "Matz" Matsumoto | |
| The saving `pc` position should be beginning of the instruction. But after `mruby 2.0` byte code modification, the `pc` variable points the beginning of the next instruction. We save the previous position in a local variable `pc0`. | |||
| 2018-11-05 | Fixed wrong `ArgumentError` with keyword arguments; fix #4159 | Yukihiro "Matz" Matsumoto | |
| 2018-11-05 | Fixed a bug in argument number check with kwargs; fix #4159 | Yukihiro "Matz" Matsumoto | |
| 2018-11-02 | Remove reserved symbols for now. | Yukihiro "Matz" Matsumoto | |
| It should be done by planned embedded symbols. | |||
| 2018-11-02 | Merge pull request #4151 from take-cheeze/remove_op_symidx | Yukihiro "Matz" Matsumoto | |
| Reduce instruction size | |||
| 2018-11-01 | Silence Appveyor's VC compilation warnings. | Yukihiro "Matz" Matsumoto | |
| 2018-11-01 | Fixed a bug in INIT_DISPATCH for non direct threading; fix #4153 | Hiroshi Mimaki | |
| 2018-10-29 | Fix operator | take-cheeze | |
| 2018-10-29 | Fix SEGV | take-cheeze | |
| 2018-10-29 | Reduce instruction size | take-cheeze | |
