summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2018-09-07Undesirable line splitdearblue
2018-09-07Fix typo for concatenatedearblue
2018-09-07Add a new method `unpack1` to `mruby-pack` gem.Yukihiro "Matz" Matsumoto
2018-09-07Fix heap buffer overflow in `unpack_a`; fix #4103Yukihiro "Matz" Matsumoto
2018-09-06Make `Kernel#sleep` to accept float as a duration time.Yukihiro "Matz" Matsumoto
But when `MRB_WITHOUT_FLOAT` is set, there's no way to sleep for sub seconds. So mruby specific `usleep` is provided.
2018-09-06Remove `Sleep` module that does not exist in CRuby.Yukihiro "Matz" Matsumoto
2018-09-06Need to check if merging hash is empty; fix #4107Yukihiro "Matz" Matsumoto
2018-09-06Need to support multiple `**` splats in argument list; fix #4106Yukihiro "Matz" Matsumoto
2018-09-05Refactored `mruby-sleep` gem.Yukihiro "Matz" Matsumoto
* Method implementation functions made `static`. * Function declaration style has been changed. * Unnecessary header file `mrb_sleep.h` removed. * Used `mrb_get_args()` instead of self parsing. * Indentation kept untouched.
2018-09-05Add `mruby-sleep` gem to the core.Yukihiro "Matz" Matsumoto
2018-09-05Free `mrbc_context` on exit from `mruby`.Yukihiro "Matz" Matsumoto
2018-09-05Merge pull request #4055 from take-cheeze/verbose_bintestYukihiro "Matz" Matsumoto
Support verbose mode in bintest.
2018-09-05Add `argv` and `argc` check in `OP_ENTER`; fix #4102Yukihiro "Matz" Matsumoto
`argv` may be retrieved from an array whose `ptr` is `NULL` when it`s empty.
2018-09-04Revert "Remove top-level constant lookup; CRuby2.5"; fix #4070Yukihiro "Matz" Matsumoto
This reverts commit c96def7c96c50f3b8e22e47ce31a6c5a37939dfd. This change was from my misunderstanding.
2018-09-04Need more precise constant name check.Yukihiro "Matz" Matsumoto
This change was inspired by [ruby-bugs#7573]
2018-09-04Add type casts to silence MSVC warnings.Yukihiro "Matz" Matsumoto
2018-09-04Merge pull request #4101 from take-cheeze/fix_4085Yukihiro "Matz" Matsumoto
Avoid root fiber initialization for CRuby.
2018-09-04Avoid root fiber initialization for CRuby workaround.take-cheeze
closes #4085.
2018-09-04Fix indent.take-cheeze
2018-09-04Merge pull request #4098 from dearblue/reverse-gems-finalYukihiro "Matz" Matsumoto
Reversing gems final
2018-09-02Reverse gems finaldearblue
2018-09-01Avoid warning in MSVC compilation.Yukihiro "Matz" Matsumoto
2018-09-01Too much peephole optimization in `gen_call`; fix #4091Yukihiro "Matz" Matsumoto
It causes trouble for safe navigation operator.
2018-09-01Move `Kernel#send` to `mruby-metaprog` gem.Yukihiro "Matz" Matsumoto
But `BasicObject#__send__` is still available from the core.
2018-09-01Avoid `NoMethodError` exception from `mrb_func_basic_p`.Yukihiro "Matz" Matsumoto
2018-09-01Use `__send__` instead of `send`.Yukihiro "Matz" Matsumoto
2018-09-01Remove `MRB_API` from `mrb_f_send` which is not API.Yukihiro "Matz" Matsumoto
2018-09-01Fix ISO/JIS section numbers.Yukihiro "Matz" Matsumoto
2018-08-30Update `RITE_BINARY_FORMAT_VER` and `RITE_VM_VER`.Yukihiro "Matz" Matsumoto
The bytecode format was updated so the header version constants must be updated as well.
2018-08-30Use `mrb_ensure_hash_type()` to check if an operand is a `Hash`; fix #4097Yukihiro "Matz" Matsumoto
2018-08-30Add new function `mrb_ensure_hash_type()`; ref #4097Yukihiro "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-30Separate 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-30Remove consequent `OP_RETURN` by peephole optimization.Yukihiro "Matz" Matsumoto
2018-08-30Need to clear `mrb->c->cibase->ridx` (toplevel ridx) at L_STOP; fix #4092Yukihiro "Matz" Matsumoto
This problem only appears when `mrb` executed multiple times (i.e. `mirb`)
2018-08-30`uint16_t` is too small for reference count; fix #4093Yukihiro "Matz" Matsumoto
Use `uint32_t` instead. Theoretically `uint32_t` can overflow as well, but I think it is sufficient size for embeddable Ruby VM.
2018-08-30The operand of `OP_ARYDUP` may not be an array; fix #4094Yukihiro "Matz" Matsumoto
This commit also fix #4096.
2018-08-29Fix off-by-one error in `OP_EPUSH` and `OP_ONERR`; fix #4095Yukihiro "Matz" Matsumoto
2018-08-29Merge pull request #4080 from 'ukrainskiysergey-node_negate_fix'Yukihiro "Matz" Matsumoto
2018-08-29Merge branch 'node_negate_fix' of https://github.com/ukrainskiysergey/mruby ↵Yukihiro "Matz" Matsumoto
into ukrainskiysergey-node_negate_fix
2018-08-29Check the size of rescue&ensure stacks; ref #4088Yukihiro "Matz" Matsumoto
Those small stack indexes can cause integer overflow.
2018-08-29Fix type of `eidx` and `ridx` from `uint8_t` to `uint16_t`; fix #4088Yukihiro "Matz" Matsumoto
A byte was too small to hold ensure&rescue stacks indexes.
2018-08-29Simplified `#ifdef` nesting in `codedump.c`; fix #4089Yukihiro "Matz" Matsumoto
`printf()` and related functions should not be called when `MRB_DISABLE_STDIO` is defined.
2018-08-29Check iseq buffer size before code emission; fix #4090Yukihiro "Matz" Matsumoto
The type of `s->pc` is now `uint16_t` that can be overflowed easily. Need more checks.
2018-08-29Move back `mrb_define_alias` to `mruby.h` to avoid breakage.Yukihiro "Matz" Matsumoto
2018-08-28Merge branch 'mruby2-draft'Yukihiro "Matz" Matsumoto
2018-08-25Reduce integer casting warnings.Yukihiro "Matz" Matsumoto
2018-08-25fixup! New bytecode implementation of mruby VM.Yukihiro "Matz" Matsumoto
2018-08-25Hash splat `**` should not be ignored.Yukihiro "Matz" Matsumoto
Implemented by adding `OP_HASHCAT` that merges hashes.
2018-08-25Fixed a bug in `OP_HASHADD`.Yukihiro "Matz" Matsumoto
2018-08-25Remove unused `Hash#__update` method.Yukihiro "Matz" Matsumoto