summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2019-04-16Fixed a bug in recursive `mrb_top_run` calls; fix #4384Yukihiro "Matz" Matsumoto
2019-04-15Fixed wrong function names; fix #4380Yukihiro "Matz" Matsumoto
2019-04-15Merge pull request #4379 from ↵Yukihiro "Matz" Matsumoto
shuujii/extract-similar-codes-to-macros-for-math-opcode-in-mrb_vm_exec Extract similar codes to macros for math opcode in `mrb_vm_exec()`
2019-04-14Extract similar codes to macros for math opcode in `mrb_vm_exec`KOBAYASHI Shuji
2019-04-14Merge pull request #4378 from dearblue/memleak-hashtableYukihiro "Matz" Matsumoto
Fix memory leak for hash table index if occur out of memory
2019-04-14Merge pull request #4377 from dearblue/wrong-iv-sizeYukihiro "Matz" Matsumoto
Fix wrong size of instance variable if occur out of memory
2019-04-14Merge pull request #4376 from dearblue/leak-symbolsYukihiro "Matz" Matsumoto
Fix leaked function symbols
2019-04-14Fix memory leak for hash table index if occur out of memorydearblue
2019-04-14Fix wrong size of instance variable if occur out of memorydearblue
2019-04-14Remove pointer check after `mrb_malloc()`dearblue
2019-04-14Fix leaked function symbolsdearblue
- `free_heap()` in src/gc.c - `symhash()` in src/symbol.c - `no_optimize()` in mrbgems/mruby-compiler/core/codegen.c
2019-04-14Include `RFiber` and `RIstruct` as a part of `RVALUE`dearblue
2019-04-13Fix 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-12Small refactoring in `mrb_funcall_with_block`.Yukihiro "Matz" Matsumoto
2019-04-11Remove incorrect flags updating in `mrb_regexp_p()`KOBAYASHI Shuji
2019-04-10Merge pull request #4368 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-mrb_immediate_p-in-mrb_obj_freeze-and-mrb_obj_frozen Use `mrb_immediate_p()` in `mrb_obj_freeze()` and `mrb_obj_frozen()`
2019-04-10Use `mrb_immediate_p()` in `mrb_obj_freeze()` and `mrb_obj_frozen()`KOBAYASHI Shuji
2019-04-10Remove too aggressive `initialize` call in `mrb_instance_new`.Yukihiro "Matz" Matsumoto
2019-04-10Remove `MRB_API` from `mrb_instance_new`.Yukihiro "Matz" Matsumoto
2019-04-10Merge pull request #4367 from shuujii/extract-frozen-checking-to-functionYukihiro "Matz" Matsumoto
Extract frozen checking to function
2019-04-10Use the old style declaration; ref #4365Yukihiro "Matz" Matsumoto
2019-04-09Extract frozen checking to functionKOBAYASHI Shuji
2019-04-08Fix C99 style inline declaration; fix #4365Yukihiro "Matz" Matsumoto
2019-04-06Merge pull request #4362 from ↵Yukihiro "Matz" Matsumoto
shuujii/move-Array-append-prepend-from-core-to-mruby-ary-ext Move `Array#(append|prepend)` from core to `mruby-ary-ext`
2019-04-06Move `Array#(append|prepend)` from core to `mruby-ary-ext`KOBAYASHI Shuji
They are not included in ISO standard.
2019-04-06Remove unused `mrb_proc_cfunc_p()`KOBAYASHI Shuji
2019-04-05`Module#alias_method` should return `self` in ISO standardKOBAYASHI Shuji
2019-04-05Merge pull request #4358 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-mrb_proc_arity-instead-of-Proc-arity-call-in-Method-arity Use `mrb_proc_arity` instead of `Proc#arity` call in `Method#arity`
2019-04-05Merge pull request #4355 from ↵Yukihiro "Matz" Matsumoto
shuujii/modify-else-and-endif-annotations-in-src-fmt_fp.c Modify `#else` and `#endif` annotations in `src/fmt_fp.c` [ci skip]
2019-04-04Use `mrb_proc_arity` instead of `Proc#arity` call in `Method#arity`KOBAYASHI Shuji
2019-04-03Modify `#else` and `#endif` annotations in `src/fmt_fp.c` [ci skip]KOBAYASHI Shuji
2019-04-03Remove unnecessary `_set_output_format` callKOBAYASHI Shuji
Three-digit exponent issue was fixed via another workaround (63b8f5c).
2019-04-02Merge pull request #4352 from shuujii/fix-modifiable-class-nameYukihiro "Matz" Matsumoto
Fix modifiable class name
2019-04-01Fix modifiable class nameKOBAYASHI Shuji
Fix the following example: Object.const_set :A, Module.new{const_set :B, Class.new} ab = A::B.to_s p ab #=> "A::B" # Good ab[0] = "x" p A::B.to_s #=> "x::B" # Bad
2019-04-01Avoid keeping pointers from `mrb_sym2name_len()`; fix #4342Yukihiro "Matz" Matsumoto
The addresses for packed inline symbols reference `mrb->symbuf` that could be overridden by the later call of `mrb_sym2name_len`. Since file names in call stack information are kept as symbols, keeping the address in the C structures could cause problems like #4342. This changes small incompatible changes in function prototypes: * `mrb_parser_get_filename`: return value changed to `mrb_sym`. * `mrb_debug_get_filename`: add `mrb_state*` as a first argument. * `mrb_debug_get_line`: ditto. I believe above functions are almost internal, and no third-party mrbgem use them.
2019-03-28Use `mrb_sym2str` in implementation of `Symbol#to_s`KOBAYASHI Shuji
2019-03-28Fixed mistakes in 92dce05Yukihiro "Matz" Matsumoto
* rename `sym2name` to `sym2name_len`. * `MRB_API` -> `static`
2019-03-27Merge pull request #4344 from shuujii/remove-unused-variable-in-each_backtraceYukihiro "Matz" Matsumoto
Remove unused variable in `each_backtrace()`
2019-03-27Remove unused variable in `each_backtrace()`KOBAYASHI Shuji
2019-03-27Fix another bug related to #4342Yukihiro "Matz" Matsumoto
For short symbols with alpha numeric characters, `mrb_sym2name_len()` returns the same buffer `mrb->symbuf`. Some occasion, we forget the fact that the second call could overwrite the result of first call of the function. We have prepared the static function `sym2name()` which specifies the buffer region for inline packed symbols and use the function in `mrb_sym_to_s`.
2019-03-27Avoid using 'mrb_str_new_static` if a symbol is packed; fix #4342Yukihiro "Matz" Matsumoto
2019-03-26Fix missing `MRB_API` prefix for functions below; clse #4267Yukihiro "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-03-25Use uppercase version of `ctype` macros e.g. `ISSPACE`; fix #4338Yukihiro "Matz" Matsumoto
2019-03-25Remove implementation of `Symbol#===`KOBAYASHI Shuji
For reducing program size.
2019-03-25Need to check length before packing a symbol; fix #4340Yukihiro "Matz" Matsumoto
2019-03-24Fix arguments spec in `src/proc.c`KOBAYASHI Shuji
2019-03-21Fix `Float#eql?`KOBAYASHI Shuji
2019-03-17Fix class/instance variable name validationKOBAYASHI Shuji
- `@@?` etc are invalid class variable name. - `@1` etc are invalid instance variable name.
2019-03-15Merge pull request #4328 from shuujii/fix-constant-name-validationYukihiro "Matz" Matsumoto
Fix constant name validation
2019-03-15Use `fmt_fp()` for portable float representation.Yukihiro "Matz" Matsumoto