| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-10-08 | codegen.c: peephole optimize `OP_MOVE` after `OP_ARRAY` or `OP_HASH`. | Yukihiro "Matz" Matsumoto | |
| When the length operand is zero, we don't need `OP_MOVE` but adjust the destination operand instead. | |||
| 2021-10-07 | Merge pull request #5554 from ↵ | Yukihiro "Matz" Matsumoto | |
| mruby/dependabot/github_actions/github/super-linter-4.8.1 build(deps): bump github/super-linter from 4.8.0 to 4.8.1 | |||
| 2021-10-06 | codedump.c: remove trailing extra newline. | Yukihiro "Matz" Matsumoto | |
| The bug was introduced in 8be78bd. | |||
| 2021-10-05 | io.c: hide internal method names in backtrace. | Yukihiro "Matz" Matsumoto | |
| 2021-10-04 | build(deps): bump github/super-linter from 4.8.0 to 4.8.1 | dependabot[bot] | |
| Bumps [github/super-linter](https://github.com/github/super-linter) from 4.8.0 to 4.8.1. - [Release notes](https://github.com/github/super-linter/releases) - [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md) - [Commits](https://github.com/github/super-linter/compare/v4.8.0...v4.8.1) --- updated-dependencies: - dependency-name: github/super-linter dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> | |||
| 2021-10-04 | codegen.c: no `OP_ARGARY` is needed here. | Yukihiro "Matz" Matsumoto | |
| 2021-10-03 | mruby/ops.h: add new instructions `OP_GETIDX` and `OP_SETIDX`. | Yukihiro "Matz" Matsumoto | |
| Which represent `obj[int]` and `obj[int]=val` respectively where `obj` is either `string`, `array` or `hash`, so that index access could be faster. When `obj` is not assumed type or `R(a+1)` is not integer, the instructions fallback to method calls. | |||
| 2021-10-02 | Merge branch 'dearblue-inline-struct-gem' | Yukihiro "Matz" Matsumoto | |
| 2021-10-02 | Merge branch 'inline-struct-gem' of https://github.com/dearblue/mruby into ↵ | Yukihiro "Matz" Matsumoto | |
| dearblue-inline-struct-gem | |||
| 2021-10-01 | SECURITY.md: add scope description. | Yukihiro "Matz" Matsumoto | |
| 2021-09-30 | TODO.md: update. | Yukihiro "Matz" Matsumoto | |
| 2021-09-30 | dreamcast_shelf.rb: remove unnecessary gem lines. | Yukihiro "Matz" Matsumoto | |
| - `mruby-binding-core` should be handle through dependency - `mruby-inline-struct` is only for tests | |||
| 2021-09-30 | value.h: introduce `MRB_TT_STRUCT` for `mruby-struct`. | Yukihiro "Matz" Matsumoto | |
| 2021-09-28 | Merge pull request #5553 from ↵ | Yukihiro "Matz" Matsumoto | |
| mruby/dependabot/github_actions/github/super-linter-4.8.0 build(deps): bump github/super-linter from 4.7.3 to 4.8.0 | |||
| 2021-09-28 | build(deps): bump github/super-linter from 4.7.3 to 4.8.0 | dependabot[bot] | |
| Bumps [github/super-linter](https://github.com/github/super-linter) from 4.7.3 to 4.8.0. - [Release notes](https://github.com/github/super-linter/releases) - [Changelog](https://github.com/github/super-linter/blob/master/docs/release-process.md) - [Commits](https://github.com/github/super-linter/compare/v4.7.3...v4.8.0) --- updated-dependencies: - dependency-name: github/super-linter dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> | |||
| 2021-09-27 | parse.y: `__ENCODING__` should be determined in run-time; fix #5552 | Yukihiro "Matz" Matsumoto | |
| It used to be compiled to the static string in the compiler. But the encoding status actually depends on the runtime configuration. A new method `Kernel#__ENCODING__` is introduced to implement the feature. | |||
| 2021-09-26 | codegen.c: should not `loop_push()` before constant folding. | Yukihiro "Matz" Matsumoto | |
| Otherwise, the following code will crash: ```ruby 1.times{{}until 1; break} ``` | |||
| 2021-09-25 | mrbconf.h: rename a configuration macro for no truncate floats. | Yukihiro "Matz" Matsumoto | |
| Rename `MRB_WORDBOX_USE_HEAP_FLOAT` to `MRB_WORDBOX_NO_FLOAT_TRUNCATE'. | |||
| 2021-09-24 | Revert "vm.c: add assertions instead of `mrb_ensure_hash_type()`." | Yukihiro "Matz" Matsumoto | |
| This reverts commit 913a0a5a036664ab0d12a1af40b652412301c89f. In some cases, `OP_HASHADD` operand may not be `Hash`. We should check explicitly in those cases. | |||
| 2021-09-24 | codegen.c: refactor `NODE_WHILE` and `NODE_UNTIL`. | Yukihiro "Matz" Matsumoto | |
| 2021-09-24 | codegen.c: add short circuit constant folding for `NODE_AND`, `NODE_OR`. | Yukihiro "Matz" Matsumoto | |
| 2021-09-24 | codegen.c: refactor `NODE_IF` generation for boolean constants. | Yukihiro "Matz" Matsumoto | |
| In addition, add `NODE_SYM` for always true expression. | |||
| 2021-09-23 | codegen.c: need to check `no_peephole()` before constant folding. | Yukihiro "Matz" Matsumoto | |
| 2021-09-23 | codegen.c: separate maximum stack size from `GEN_LIT_ARY_MAX`. | Yukihiro "Matz" Matsumoto | |
| 2021-09-22 | error.c: stop calling `initialize` from VM exceptions. | Yukihiro "Matz" Matsumoto | |
| The invocation of `initialize` hook can cause infinite recursion too easily. We stop invoking the method for safety, at the cost of less flexibility. The `initialize` methods (e.g. ones defined in `mrblib/10error.rb`) are called only from `NoMethodError.new(args..)` forms. | |||
| 2021-09-21 | vm.c: add assertions instead of `mrb_ensure_hash_type()`. | Yukihiro "Matz" Matsumoto | |
| 2021-09-20 | Create SECURITY.md | Yukihiro "Matz" Matsumoto | |
| 2021-09-20 | Update `struct` initializer to work with relatively older `C++`. | Yukihiro "Matz" Matsumoto | |
| 2021-09-20 | codedump.c: add cosmetic tabs before variable labels. | Yukihiro "Matz" Matsumoto | |
| 2021-09-20 | codegen.c (gen_addsub): use `mrb_int_sub_overflow()`. | Yukihiro "Matz" Matsumoto | |
| 2021-09-20 | codegen.c: avoid constant folding `OP_LOADI16` across branch target. | Yukihiro "Matz" Matsumoto | |
| 2021-09-20 | codegen.c: `gen_move` should generate proper `OP_LOADI16`. | Yukihiro "Matz" Matsumoto | |
| 2021-09-20 | codegen.c: rename `loopinfo->acc` to `reg`. | Yukihiro "Matz" Matsumoto | |
| `acc` meant `accumulator` but it is not an accumulator but just a register position. | |||
| 2021-09-20 | codegen.c: check `no_peephole(s)` before `mrb_last_insn(s)`. | Yukihiro "Matz" Matsumoto | |
| 2021-09-20 | codegen.c (mrb_last_insn): no previous instruction on top. | Yukihiro "Matz" Matsumoto | |
| 2021-09-19 | vm.c: add array assertions. | Yukihiro "Matz" Matsumoto | |
| 2021-09-19 | codegen.c: unify `OP_ARYPUSH` and `OP_ARYPUSH_N`. | Yukihiro "Matz" Matsumoto | |
| - `OP_ARYPUSH` now takes operand for the number of pushing elements - the code generator consume the stack no more than `64` for `mruby/c` | |||
| 2021-09-17 | ops.h: add `OP_ARYPUSH_N` instruction. | Yukihiro "Matz" Matsumoto | |
| Add n elements at once. Reduces instructions for huge array initialization. In addition, `gen_value` function in `codegen.c` was refactored and clarified. | |||
| 2021-09-17 | AUTHORS: update. [ci skip] | Yukihiro "Matz" Matsumoto | |
| 2021-09-16 | AUTHORS: update. [ci skip] | Yukihiro "Matz" Matsumoto | |
| 2021-09-15 | Use `struct` initializer instead of `memset`. | Yukihiro "Matz" Matsumoto | |
| 2021-09-14 | sprintf.c: `width` may have been `INT_MAX`. | Yukihiro "Matz" Matsumoto | |
| Now `width` is limited to `INT16_MIN..INT16_MAX`. | |||
| 2021-09-13 | parse.y: `cons_free` unused node (empty string node). | Yukihiro "Matz" Matsumoto | |
| 2021-09-13 | parse.y: allow non-local variable access from hash value omission. | Yukihiro "Matz" Matsumoto | |
| For example, `{p:}` (means `{p:p}`) and `{String:}` (`{String:String}`) should be allowed like CRuby. | |||
| 2021-09-13 | parse.y: allow value omission in Hash literals introduced in Ruby3.1. | Yukihiro "Matz" Matsumoto | |
| `{x:, y:}` now is a syntax sugar of `{x: x, y: y}`. This fix also includes the update of #4815 fix. | |||
| 2021-09-12 | parse.y: fix `nint` (int to node) and `intn` (node to int). | Yukihiro "Matz" Matsumoto | |
| 2021-09-12 | parse.y: avoid adding zero length strings. | Yukihiro "Matz" Matsumoto | |
| 2021-09-11 | codedump.c: avoid printing `OP_EXT?` prefix. | Yukihiro "Matz" Matsumoto | |
| 2021-09-10 | ops.h: update `OP_HASHADD` description. | Yukihiro "Matz" Matsumoto | |
| 2021-09-10 | array.c: forgot to adjust tail position in `mrb_ary_splice`. | Yukihiro "Matz" Matsumoto | |
