summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2019-05-08Use `mrb_string_value_cstr` in `mrb_str_to_dbl`KOBAYASHI Shuji
2019-05-07Refactor `mrb_str_to_cstr` and `mrb_string_value_cstr`KOBAYASHI Shuji
- Extract null byte check to function. - Avoid string allocation if null byte is included. - Use `str_new` instead of `mrb_str_dup` + `mrb_str_modify`
2019-05-04Check whether object is immediate in `mrb_gc_(register|unregister)`KOBAYASHI Shuji
2019-05-04Merge pull request #4420 from ↵Yukihiro "Matz" Matsumoto
shuujii/simplify-conversion-process-for-i-in-mrb_get_args Simplify conversion process for `i` in `mrb_get_args()`
2019-05-03Simplify conversion process for `i` in `mrb_get_args()`KOBAYASHI Shuji
2019-05-03Fix `FLAG_SRC_STATIC` always set in `mrb_read_irep()` with ↵dearblue
`MRB_USE_CUSTOM_RO_DATA_P`
2019-05-02Merge pull request #4417 from ↵Yukihiro "Matz" Matsumoto
shuujii/unify-overflow-error-class-for-conversion-to-integer-to-RangeError Unify overflow error class for conversion to integer to `RangeError`
2019-05-02Unify overflow error class for conversion to integer to `RangeError`KOBAYASHI Shuji
2019-05-01Remove unneeded `argc` check in `mrb_str_aref_m()`KOBAYASHI Shuji
2019-04-25Singleton class of frozen object should be frozenKOBAYASHI Shuji
Before this patch: p (class << Object.new.freeze; self end).frozen? #=> false sc = class << (o=Object.new); self end; o.freeze; p sc.frozen? #=> false After this patch / Ruby: p (class << Object.new.freeze; self end).frozen? #=> true sc = class << (o=Object.new); self end; o.freeze; p sc.frozen? #=> true
2019-04-24Fix modiying class variable to frozen class/moduleKOBAYASHI Shuji
2019-04-24Remove unnecessary `mrb_regexp_check()` and related functions.Yukihiro "Matz" Matsumoto
2019-04-23Fixed the condition in `mrb_funcall_with_block`; fix #4389Yukihiro "Matz" Matsumoto
2019-04-22Use `MRB_ASPEC_XXX()` macro in `codedump()`KOBAYASHI Shuji
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