summaryrefslogtreecommitdiffhomepage
path: root/include
AgeCommit message (Collapse)Author
2019-04-10Merge pull request #4367 from shuujii/extract-frozen-checking-to-functionYukihiro "Matz" Matsumoto
Extract frozen checking to function
2019-04-09Extract frozen checking to functionKOBAYASHI Shuji
2019-04-08Remove unneeded function prototypesKOBAYASHI Shuji
2019-04-05Merge pull request #4357 from mruby/stableYukihiro "Matz" Matsumoto
Update version and release date. `mruby 2.0.1 (2019-4-4)`
2019-04-04Use `mrb_proc_arity` instead of `Proc#arity` call in `Method#arity`KOBAYASHI Shuji
2019-04-04Update version and release date.2.0.1Hiroshi Mimaki
`mruby 2.0.1 (2019-4-4)`
2019-04-02Pad leading zero to month and day in `MRUBY_RELEASE_DATE`KOBAYASHI Shuji
For Ruby compatibility.
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-29va_list is defined in stdarg.h.Tomoyuki Sahara
fixes build on OpenBSD.
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-14Fix constant name validationKOBAYASHI Shuji
`X!` etc are invalid constant name.
2019-02-17Merge pull request #4279 from dearblue/fix-inline-packed-symbolsYukihiro "Matz" Matsumoto
Fix destroyed "inline packed symbols" on 32 bit mode with `MRB_WORD_BOXING`
2019-02-17Fix typosyui-knk
2019-02-16Fix to defined `MRB_SYMBOL_BITSIZE` and `MRB_SYMBOL_MAX` always; ref #4077dearblue
2019-02-12Disable `Symbol.all_symbols`.Yukihiro "Matz" Matsumoto
2019-02-12Implement inline packed symbols.Yukihiro "Matz" Matsumoto
Small symbols with all alphanumeric characters (<5) are packed in 32bit symbol integer a la base64. This means those small symbols are not listed in `Symbol.all_symbols`.
2019-02-06Implement symbol hash table to boost `find_symbol`.Yukihiro "Matz" Matsumoto
In 4174e02, we removed the symbol hash table from `mrb_state` but `find_symbol` was too slow with linear search. My performance estimation was wrong. So we implemented a new compact hash table for symbols.
2019-02-06Remove symbol hash table from `mrb_state` structure.Yukihiro "Matz" Matsumoto
Use linear search instead. Number of symbols is usually small (<1K), so we don't need performance boost from hash tables. In our benchmark measurement, hash tables consumes 790KB for `build/full-debug/mrbtest`.
2019-02-04Fix `Symbol#size` for multi-byte characters with `MRB_UTF8_STRING`KOBAYASHI Shuji
Before: p :あ.size #=> 3 After: p :あ.size #=> 1
2019-01-20Fix memory leak `sval` when out of memory in `Data_Wrap_Struct()`dearblue
2019-01-08Update compiled binary format version; ref #4219Yukihiro "Matz" Matsumoto
2019-01-08Update `OP_APOST` description (typo fixed).Yukihiro "Matz" Matsumoto
2019-01-03range: Refactor range.h/range.cKOBAYASHI Shuji
Functions order, name, linkage and so on.
2019-01-01range: Embed edges in RRange on boxing environment.KOBAYASHI Shuji
[Breaking changes] Developers must use following APIs for accessing attributes of RRange because RRange structure depends on boxing setting. - mrb_range_beg - mrb_range_end - mrb_range_excl_p
2018-12-23Suppress __STDC_VERSION__ warns for C++dearblue
2018-12-22Fix MRB_ENDIAN_BIG is always defined, if byte order macro is not defineddearblue
2018-12-21Simplify `MRB_ENDIAN_BIG` macro definition; ref #4190Yukihiro "Matz" Matsumoto
`cpp` does not raise error on undefined macro access in condition.
2018-12-21Define `MRB_ENDIAN_BIG` automatically; ref #4190Yukihiro "Matz" Matsumoto
You had to define this macro on big endian platforms, but it is very error-prone. So define the macro automatically if possible.
2018-12-18Fix macro expressions with parendearblue
2018-12-18Fix macro arguments with parendearblue
2018-12-17Remove `#include <mruby/khash.h>` from `mruby/hash.h`.Yukihiro "Matz" Matsumoto
2018-12-14Add `mrb_hash_size()` function.dearblue
2018-12-11Merge pull request #4184 from mruby/stableYukihiro "Matz" Matsumoto
Release mruby 2.0.0
2018-12-11Update release date.2.0.0Hiroshi Mimaki
2018-12-11Rename `ht_foreach_func` to `mrb_hash_foreach_func`.Yukihiro "Matz" Matsumoto
2018-12-11Add `mrb_` prefix to `iv_foreach_func`.Yukihiro "Matz" Matsumoto
2018-12-11Add new API `mrb_iv_foreach()` to iterate over instance variables.Yukihiro "Matz" Matsumoto
2018-12-11Add API function `mrb_hash_foreach()` to iterate over items in a hash.Yukihiro "Matz" Matsumoto
2018-11-25Remove `do { ... } while(0)` hacks from `MRB_TRY` macros.Yukihiro "Matz" Matsumoto
Because it can swallow `break` etc. if they are used in loops.
2018-11-20Update documentation to mrb_load_irepRob Fors
2018-11-20Update version number; fix #4165Yukihiro "Matz" Matsumoto
2018-11-20Fixed a bug in `mirb` heredoc handling; fix #3989Yukihiro "Matz" Matsumoto
2018-11-20Restrict total recursion number of `ecall()`; fix #3789Yukihiro "Matz" Matsumoto
2018-11-19Restore `mrb_string_type` function for compatibility.Yukihiro "Matz" Matsumoto
2018-11-19Use type checking `mrb_to_str` instead of converting `mrb_str_to_str`.Yukihiro "Matz" Matsumoto
2018-11-19Removed `to_ary` conversion method.Yukihiro "Matz" Matsumoto
2018-11-19Remove implicit conversion using `to_str` method; fix #3854Yukihiro "Matz" Matsumoto
We have added internal convenience method `__to_str` which does string type check. The issue #3854 was fixed but fundamental flaw of lack of stack depth check along with fibers still remains. Use `MRB_GC_FIXED_ARENA` for workaround.
2018-11-19Remove implicit conversion using `to_int` method.Yukihiro "Matz" Matsumoto
The ISO standard does not include implicit type conversion using `to_int`. This implicit conversion often causes vulnerability. There will be no more attacks like #4120. In addition, we have added internal convenience method `__to_int` which does type check and conversion (from floats).
2018-11-19Improve Hash table using variable sized segments.Yukihiro "Matz" Matsumoto
2018-11-15Shrink file name table size to `uint16_t`; ref #4138Yukihiro "Matz" Matsumoto