| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-09-16 | Remove `MRB_METHOD_TABLE_INLINE`. | Yukihiro "Matz" Matsumoto | |
| `MRB_METHOD_TABLE_INLINE` was fragile. It requires `-falign-functions=n`. On platform that uses higher bits of function pointers, you can use new `MRB_METHOD_T_STRUCT` configuration macro. | |||
| 2019-09-16 | Raise `ArgumentError` by `aspec` check; ref #4688 | Yukihiro "Matz" Matsumoto | |
| This is partial `aspec` check that only checks `MRB_ARGS_NONE()`. | |||
| 2019-09-16 | Share common definition of `MRB_METHOD_FUNC_FL`. | Yukihiro "Matz" Matsumoto | |
| 2019-09-16 | Use bit shifting to pack function pointers to `mrb_method_t`. | Yukihiro "Matz" Matsumoto | |
| So you don't need `-falign-functions=2` anymore. Instead your platform must not use higher bits of the pointer (true for most platforms). If not, you have to use `struct mrb_method_t` version. | |||
| 2019-09-16 | Refactor `mrb_method_t`. | Yukihiro "Matz" Matsumoto | |
| 2019-09-15 | Refactor `mrb_type` in `include/mruby/boxing_word.h` | KOBAYASHI Shuji | |
| 2019-09-14 | Add argument names to C function prototypes. | Yukihiro "Matz" Matsumoto | |
| 2019-09-14 | Add a macro `mrb_frozen_p` that points to `MRB_FROZEN_P`. | Yukihiro "Matz" Matsumoto | |
| 2019-09-14 | Remove `mrb_funcall` from `<=>` operations. | Yukihiro "Matz" Matsumoto | |
| 2019-09-08 | Optimize `mrb_bool()` with `MRB_WORD_BOXING` | KOBAYASHI Shuji | |
| 2019-09-07 | Increase symbol bit size on 32-bit mode with `MRB_WORD_BOXING` | KOBAYASHI Shuji | |
| This change increases the max length of lower inline symbols to 5 bytes. | |||
| 2019-09-06 | Avoid bit fields in `mrb_value`; ref b2c3d88f | KOBAYASHI Shuji | |
| The changes at b2c3d88f were inappropriate because the memory layout of bit fields are implementation defined. Therefor, I fixed it not to use bit fields. | |||
| 2019-09-02 | Fix an error in refactoring; fix #4682 | Yukihiro "Matz" Matsumoto | |
| 2019-08-31 | Fix `mrb_immediate_p(MRB_TT_FREE)` to return `false`; ref #4679 | Yukihiro "Matz" Matsumoto | |
| 2019-08-31 | Refactor #4662 with different names. | Yukihiro "Matz" Matsumoto | |
| 2019-08-31 | Implement `mrb_immediate_p` macro for `MRB_WORD_BOXING` | KOBAYASHI Shuji | |
| The default implementation of `mrb_immediate_p` uses `mrb_type`. However, in `MRB_WORD_BOXING`, `mrb_type` has many branches and is inefficient, so provide an implementation that does not use `mrb_type`. | |||
| 2019-08-26 | fix lots of warnings and make logo not so big | David Siaw | |
| 2019-08-26 | change doc directory and reduce warnings | David Siaw | |
| 2019-08-23 | Fix `RBreak` exceeding 6 words on 32-bit mode w/o boxing and `MRB_USE_FLOAT` | KOBAYASHI Shuji | |
| ref: https://github.com/mruby/mruby/pull/4483#issuecomment-498001736 In this configuration, `tt` of `RBreak::val` is set into `RBreak::flags`. | |||
| 2019-08-20 | Avoid C++ strict aliasing warning. | Yukihiro "Matz" Matsumoto | |
| Based on code proposed by @dearblue to avoid the warning: `dereferencing type-punned pointer will break strict-aliasing rules`. | |||
| 2019-08-20 | Use `RBasic` padding for embedded string on 64-bit CPU | KOBAYASHI Shuji | |
| On 64-bit CPU, there is padding in `RBasic`, so reorder the fields and use it as buffer of embedded string. This change allows 4 more bytes to be embedded on 64-bit CPU. However, an incompatibility will occur if `RString::as::ary` is accessed directly because `RString` structure has changed. | |||
| 2019-08-18 | Allow external definition of MRB_API macro | Ryan Lopopolo | |
| When building WebAssembly targets with clang (e.g. wasm32-unknown-unknown), all symbols are hidden by default. To export a symbol, it must be marked with __attribute__((visibility(default))) Rather than detecting this exotic target in mruby, allow MRB_API to be defined externally. | |||
| 2019-08-19 | Merge pull request #4636 from davidsiaw/doxygen | Yukihiro "Matz" Matsumoto | |
| Generate doxygen docs for mruby | |||
| 2019-08-18 | fix up documentation for values | David Siaw | |
| 2019-08-18 | Prohibit changes to iseq in principle | dearblue | |
| 2019-08-18 | fix up markdown display in doxygen | David Siaw | |
| 2019-08-18 | first bit of doc generation | David Siaw | |
| 2019-08-17 | Merge pull request #4634 from shuujii/refactor-set-unset-string-type-flags | Yukihiro "Matz" Matsumoto | |
| Refactor set/unset string type flags | |||
| 2019-08-17 | Refactor set/unset string type flags | KOBAYASHI Shuji | |
| Introduce `RSTR_SET_TYPE_FLAG` macro to set the specified string type flag and clear the others. | |||
| 2019-08-17 | Resolve conflict between #4582 and C++ warning. | Yukihiro "Matz" Matsumoto | |
| 2019-08-16 | Update `struct RArray` union to silence C++ warning. | Yukihiro "Matz" Matsumoto | |
| 2019-08-14 | Remove `MRB_API` from functions only called from `vm.c`. | Yukihiro "Matz" Matsumoto | |
| * `mrb_vm_define_class` * `mrb_vm_define_module` Only functions called from user code requires `MRB_API`. | |||
| 2019-08-11 | `mrb_str_modify_keep_ascii` can embed one more byte | KOBAYASHI Shuji | |
| The condition to make an embedded string was incorrect. Because there were several similar codes, extracted into `RSTR_EMBEDDABLE_P` macro. | |||
| 2019-08-07 | Update `mrb_to_str` and related functions. | Yukihiro "Matz" Matsumoto | |
| Contrary to the name, `mrb_to_str` just checks type, no conversion. | |||
| 2019-08-07 | Reorganize `mrb_string_value_cstr` and related functions. | Yukihiro "Matz" Matsumoto | |
| `mrb_string_value_cstr` and `mrb_string_value_len`: obsolete `mrb_string_cstr`: new function to retrieve NULL terminated C string `RSTRING_CSTR`: wrapper macro of `mrb_string_cstr` | |||
| 2019-08-04 | Add constants for floating point number | dearblue | |
| 2019-07-22 | Fix `FIXABLE_FLOAT()` on `MRB_INT64`; ref #4566 | Yukihiro "Matz" Matsumoto | |
| Normal `TYPED_FIXABLE(f,mrb_float)` does not work on 64bit int from casting problems. The new approach works well, but assumes two's complement and IEEE-754 floating point numbers. | |||
| 2019-07-17 | Avoid `MRB_INLINE` for `mrb_str_modify()`; ref #4579 | Yukihiro "Matz" Matsumoto | |
| Functions that are called infrequently need not to be inline. | |||
| 2019-07-16 | Merge pull request #4580 from shuujii/unify-type-of-line-number-to-uint16_t | Yukihiro "Matz" Matsumoto | |
| Unify type of line number to `uint16_t` | |||
| 2019-07-15 | Unify type of line number to `uint16_t` | KOBAYASHI Shuji | |
| 2019-07-15 | Add `MRB_API` to `mrb_str_modify_keep_ascii()` | KOBAYASHI Shuji | |
| 2019-07-14 | Keep `MRB_STR_ASCII` flag in some methods of `String` | KOBAYASHI Shuji | |
| 2019-07-05 | Read/write `MRB_STR_ASCII` flag only when `MRB_UTF8_STRING` is defined | KOBAYASHI Shuji | |
| 2019-07-04 | Rename `MRB_STR_NO_UTF` to 'MRB_STR_ASCII`; close #4550 | Yukihiro "Matz" Matsumoto | |
| In #4550, @shuuji proposed the name name `MRB_STR_NO_MULTI_BYTE` for more precise description. Although I agree that the name name is correct, but the flag means the string does not contain multi byte UTF-8 characters, i.e. all characters fit in the range of ASCII. | |||
| 2019-07-03 | Refine document to mrb_get_args()` [ci skip] | KOBAYASHI Shuji | |
| 2019-06-26 | Merge pull request #4532 from ↵ | Yukihiro "Matz" Matsumoto | |
| shuujii/fix-String-byteslice-with-MRB_UTF8_STRING-and-some-edge-cases Fix `String#byteslice` with `MRB_UTF8_STRING` and some edge cases | |||
| 2019-06-25 | Fix `String#byteslice` with `MRB_UTF8_STRING` and some edge cases | KOBAYASHI Shuji | |
| Example: $ bin/mruby -e ' p "あa".byteslice(1) p "bar".byteslice(3) p "bar".byteslice(4..0) ' Before this patch: "a" "" RangeError (4..0 out of range) After this patch (same as Ruby): "\x81" nil nil | |||
| 2019-06-25 | Merge pull request #4516 from ↵ | Yukihiro "Matz" Matsumoto | |
| shuujii/fix-struct-RRange-overflow-on-32-bit-CPU-with-MRB_NAN_BOXING Fix `struct RRange` overflow on 32-bit CPU with `MRB_NAN_BOXING` | |||
| 2019-06-19 | Remove unneeded statement in `SET_OBJ_VALUE` with `boxing_word.h` | KOBAYASHI Shuji | |
| `(r).value.bp` and `v` have the same value due to assignment of the line preceding the removed line. | |||
| 2019-06-18 | Fix `struct RRange` overflow on 32-bit CPU with `MRB_NAN_BOXING` | KOBAYASHI Shuji | |
