| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-09-05 | Add `argv` and `argc` check in `OP_ENTER`; fix #4102 | Yukihiro "Matz" Matsumoto | |
| `argv` may be retrieved from an array whose `ptr` is `NULL` when it`s empty. | |||
| 2018-09-04 | Revert "Remove top-level constant lookup; CRuby2.5"; fix #4070 | Yukihiro "Matz" Matsumoto | |
| This reverts commit c96def7c96c50f3b8e22e47ce31a6c5a37939dfd. This change was from my misunderstanding. | |||
| 2018-09-04 | Need more precise constant name check. | Yukihiro "Matz" Matsumoto | |
| This change was inspired by [ruby-bugs#7573] | |||
| 2018-09-04 | Add type casts to silence MSVC warnings. | Yukihiro "Matz" Matsumoto | |
| 2018-09-01 | Avoid warning in MSVC compilation. | Yukihiro "Matz" Matsumoto | |
| 2018-09-01 | Move `Kernel#send` to `mruby-metaprog` gem. | Yukihiro "Matz" Matsumoto | |
| But `BasicObject#__send__` is still available from the core. | |||
| 2018-09-01 | Avoid `NoMethodError` exception from `mrb_func_basic_p`. | Yukihiro "Matz" Matsumoto | |
| 2018-09-01 | Fix ISO/JIS section numbers. | Yukihiro "Matz" Matsumoto | |
| 2018-08-30 | Use `mrb_ensure_hash_type()` to check if an operand is a `Hash`; fix #4097 | Yukihiro "Matz" Matsumoto | |
| 2018-08-30 | Add new function `mrb_ensure_hash_type()`; ref #4097 | Yukihiro "Matz" Matsumoto | |
| Unlike `mrb_check_hash_type()` that returns `nil` if the argument is not a `Hash`, `mrb_ensure_hash_type()` raises a `TypeError` exception. | |||
| 2018-08-30 | Separate meta-programming features to `mruby-metaprog` gem. | Yukihiro "Matz" Matsumoto | |
| We assume meta-programming is less used in embedded environments. We have moved following methods: * Kernel module global_variables, local_variables, singleton_class, instance_variables, instance_variables_defined?, instance_variable_get, instance_variable_set, methods, private_methods, public_methods, protected_methods, singleton_methods, define_singleton_methods * Module class class_variables, class_variables_defined?, class_variable_get, class_variable_set, remove_class_variable, included_modules, instance_methods, remove_method, method_removed, constants * Module class methods constants, nesting Note: Following meta-programming methods are kept in the core: * Module class alias_method, undef_method, ancestors, const_defined?, const_get, const_set, remove_const, method_defined?, define_method * Toplevel object define_method `mruby-metaprog` gem is linked by default (specified in default.gembox). When it is removed, it will save 40KB (stripped:8KB) on x86-64 environment last time I measured. | |||
| 2018-08-30 | Need to clear `mrb->c->cibase->ridx` (toplevel ridx) at L_STOP; fix #4092 | Yukihiro "Matz" Matsumoto | |
| This problem only appears when `mrb` executed multiple times (i.e. `mirb`) | |||
| 2018-08-30 | The operand of `OP_ARYDUP` may not be an array; fix #4094 | Yukihiro "Matz" Matsumoto | |
| This commit also fix #4096. | |||
| 2018-08-29 | Fix off-by-one error in `OP_EPUSH` and `OP_ONERR`; fix #4095 | Yukihiro "Matz" Matsumoto | |
| 2018-08-29 | Check the size of rescue&ensure stacks; ref #4088 | Yukihiro "Matz" Matsumoto | |
| Those small stack indexes can cause integer overflow. | |||
| 2018-08-29 | Simplified `#ifdef` nesting in `codedump.c`; fix #4089 | Yukihiro "Matz" Matsumoto | |
| `printf()` and related functions should not be called when `MRB_DISABLE_STDIO` is defined. | |||
| 2018-08-25 | Reduce integer casting warnings. | Yukihiro "Matz" Matsumoto | |
| 2018-08-25 | fixup! New bytecode implementation of mruby VM. | Yukihiro "Matz" Matsumoto | |
| 2018-08-25 | Hash splat `**` should not be ignored. | Yukihiro "Matz" Matsumoto | |
| Implemented by adding `OP_HASHCAT` that merges hashes. | |||
| 2018-08-25 | Fixed a bug in `OP_HASHADD`. | Yukihiro "Matz" Matsumoto | |
| 2018-08-25 | Add a new function `mrb_hash_merge()`. | Yukihiro "Matz" Matsumoto | |
| 2018-08-25 | Add bytecode support for `MRB_WORD_BOXING`. | Yukihiro "Matz" Matsumoto | |
| 2018-08-25 | New bytecode implementation of mruby VM. | Yukihiro "Matz" Matsumoto | |
| 2018-08-25 | irep is released when Fiber is terminated | pyama86 | |
| 2018-08-25 | Rename ambiguous function names. | Yukihiro "Matz" Matsumoto | |
| `mrb_iv_p` -> `mrb_iv_name_sym_p` `mrb_iv_check` -> `mrb_iv_name_sym_check` | |||
| 2018-08-25 | Remove utility functions: `mrb_vm_iv_{get,set}`. | Yukihiro "Matz" Matsumoto | |
| 2018-08-25 | Revert 04dbbff. | Yukihiro "Matz" Matsumoto | |
| Use segment list for instance variable again to reduce memory. | |||
| 2018-08-25 | Small refactoring of `flodivmod()`. | Yukihiro "Matz" Matsumoto | |
| 2018-08-25 | Simply use `snprintf` instead of custom `fmt_fp`, | Yukihiro "Matz" Matsumoto | |
| Unless `MRB_DISABLE_STDIO` is set. `snprintf` is used anyway if mruby is configured to use `stdio`. This change reduces 8KB of program size on the Linux box. | |||
| 2018-08-25 | Remove `nregs` member from `mrb_callinfo`. | Yukihiro "Matz" Matsumoto | |
| This means reducing one word per a call frame. | |||
| 2018-08-25 | Reorganize flags values for classes; fix #3975 | Yukihiro "Matz" Matsumoto | |
| Renamed flag macro names as well: `MRB_FLAG_IS_FROZEN` -> `MRB_FL_OBJ_FROZEN` `MRB_FLAG_IS_PREPENDED` -> `MRB_FL_CLASS_IS_PREPENDED` `MRB_FLAG_IS_ORIGIN` -> `MRB_FL_CLASS_IS_ORIGIN` `MRB_FLAG_IS_INHERITED` -> `MRB_FL_CLASS_IS_INHERITED` | |||
| 2018-07-31 | Removed unused instruction: `OP_KDICT`. | Yukihiro "Matz" Matsumoto | |
| 2018-07-31 | Fixed a small bug in keyword argument parsing. | Yukihiro "Matz" Matsumoto | |
| def m(a=1,**k) p [a,k] end m(a: 1) | |||
| 2018-07-30 | Keyword argument implemented. | Yukihiro "Matz" Matsumoto | |
| 2018-07-30 | New bytecode implementation of mruby VM. | Yukihiro "Matz" Matsumoto | |
| 2018-06-28 | Use `mrb_raise()` instead of `mrb_raisef()`; ref #4062 | Yukihiro "Matz" Matsumoto | |
| 2018-06-27 | Add negative check in `mrb_str_resize`; fix #4062 | Yukihiro "Matz" Matsumoto | |
| 2018-06-22 | initialize a local variable to avoid warning | Yukihiro "Matz" Matsumoto | |
| 2018-06-14 | Restore GC arena after raised exceptions; ref #4042 | Yukihiro "Matz" Matsumoto | |
| 2018-06-14 | Need to add a write barrier for ranges; fix #4042 | Yukihiro "Matz" Matsumoto | |
| Ranges are almost immutable but `initialize` and `initialize_copy` modify the receiver so that we need to add a write barrier. | |||
| 2018-06-11 | Revert "No longer need to insert write barriers for fibers." | Yukihiro "Matz" Matsumoto | |
| This reverts commit c6736357a72049a0eb2a31ccabcc3cd2baba7c9e. The assumption was wrong and caused the issue; fix #4020 | |||
| 2018-06-11 | Retrieve `b` operand from the instruction (for debugging); ref #4020 | Yukihiro "Matz" Matsumoto | |
| 2018-06-08 | `mrb_class_real()` did not work for `BasicObject`; fix #4037 | Yukihiro "Matz" Matsumoto | |
| 2018-06-07 | Allow `Object#clone` to copy frozen status only; fix #4036 | Yukihiro "Matz" Matsumoto | |
| Copying all flags from the original object may overwrite the clone's flags e.g. the embedded flag. | |||
| 2018-06-07 | Merge pull request #4039 from i110/i110/fix-broken-lexical-variables | Yukihiro "Matz" Matsumoto | |
| fix broken lexical variables | |||
| 2018-06-07 | Export `stack_extend` function (renamed `mrb_stack_extend`); fix #3219 | Yukihiro "Matz" Matsumoto | |
| This change is required to support #4038. | |||
| 2018-06-06 | Revert "Fix heap use after free on mruby-aws-sigv4." | Ichito Nagata | |
| This reverts commit b8869498b7b1458af1cf2a5ccc7644849f826230. | |||
| 2018-06-03 | fix env->stack misadjusting | Ichito Nagata | |
| 2018-06-01 | Instead of defining `Hash#dup`, we should define `Hash#initialize_copy`. | Yukihiro "Matz" Matsumoto | |
| `Hash#clone` did not work properly; fix #4030 | |||
| 2018-06-01 | The `clone` method should copy object status (e.g. frozen) too; #4030 | Yukihiro "Matz" Matsumoto | |
