| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-07-29 | parse.y: revert some changes to be compiled by old `bison`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-29 | y.tab.c: remove auto generated `y.tab.c` from repository. | Yukihiro "Matz" Matsumoto | |
| It used to be generated in the build, but `bison` required to generation was too hard to install correctly on MacOS and Windows (version mismatch and package maneger issues). This is retry. | |||
| 2021-07-28 | codegen.c: labels should be `uint32_t`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-28 | codegen.c: fix `loopinfo` structure members. | Yukihiro "Matz" Matsumoto | |
| - `pc0`: `next` destination - `pc1`: `redo` destination (renamed from `pc2`) - `pc3`: `break` destination (renamed from `pc3`) old `pc1` was unused so removed. | |||
| 2021-07-28 | codegen.c: removed bytecode when the value of `while` is not used. | Yukihiro "Matz" Matsumoto | |
| 2021-07-28 | codegen.c: fixed a bug when value is taken from `while` and `until`. | Yukihiro "Matz" Matsumoto | |
| ```ruby p ((while true; p 1; break; end)) ``` should print `1 nil` but was `1`. | |||
| 2021-07-26 | parse.y: fix an integer cast warning. | Yukihiro "Matz" Matsumoto | |
| 2021-07-26 | parse.y: `mrb_int_read()` returns `mrb_int` not `unsigned long`. | Yukihiro "Matz" Matsumoto | |
| Also, now too big capture group index just gives `nil`, not error. | |||
| 2021-07-26 | parse.y: unify redundant functions `yywarn()` and `yywarning()`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-26 | test/binding.rb: remove a duplicated test. | Yukihiro "Matz" Matsumoto | |
| 2021-07-25 | time.c: fixed a potential buffer overflow in `time_zonename`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-25 | time.c: fixed `time_zonename` buffer size bug. | Yukihiro "Matz" Matsumoto | |
| 2021-07-25 | time.c: stop returning `LOCAL` for the zone name from `Time.zone`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-25 | time.c: update the document for `Time#usec`; close #5515 | Yukihiro "Matz" Matsumoto | |
| 2021-07-25 | pack.c: fixed sign comparison warning. | Yukihiro "Matz" Matsumoto | |
| 2021-07-25 | parse.y: replace `strtoul()` by `mrb_int_read()`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-25 | Remove redundant include headers. | Yukihiro "Matz" Matsumoto | |
| - stdlib.h - stddef.h - stdint.h - stdarg.h - limits.h - float.h | |||
| 2021-07-23 | codegen.c: fixed a bug in `OP_LOADI32` peephole optimization. | Yukihiro "Matz" Matsumoto | |
| 2021-07-22 | codegen.c: `get_int_operand()` to support `OP_LOADL` (int in pool). | Yukihiro "Matz" Matsumoto | |
| 2021-07-22 | codegen.c: add constant folding for unary numeric operators (+, -, ~). | Yukihiro "Matz" Matsumoto | |
| 2021-07-22 | codegen.c: compare symbol names directly avoiding string conversion. | Yukihiro "Matz" Matsumoto | |
| 2021-07-21 | codegen.c: skip `-@` call if the argument is a literal integer. | Yukihiro "Matz" Matsumoto | |
| 2021-07-21 | codegen.c: move `gen_setxv()` after `new_sym()`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-21 | codegen.c: introduce `gen_int()` to generate integer instructions. | Yukihiro "Matz" Matsumoto | |
| 2021-07-21 | codegen.c: add peephole optimization for `OP_LOADI32` before `OP_MOVE`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-21 | codegen.c: add peephole optimization for `OP_LOADI16` before `OP_MOVE`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-21 | codegen.c: a new function `get_int_operand`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-20 | codegen.c: negative zero equals to positive zero. | Yukihiro "Matz" Matsumoto | |
| `OP_LOADI Rn -0` should be `OP_LOADI_0`. | |||
| 2021-07-20 | codegen.c: allow `OP_EXT` before `OP_ADDI` and `OP_SUBI`. | Yukihiro "Matz" Matsumoto | |
| This is preparation for integer constant folding. | |||
| 2021-07-19 | Remove unused prototypes for `mrb_proc_merge_lvar()`; ref #5511 | Yukihiro "Matz" Matsumoto | |
| 2021-07-19 | Merge pull request #5511 from dearblue/binding.3 | Yukihiro "Matz" Matsumoto | |
| Explicit write barrier for binding | |||
| 2021-07-17 | Explicit write barrier for binding | dearblue | |
| 2021-07-17 | Avoid implicit casting from void pointers for C++ | dearblue | |
| 2021-07-17 | codegen.c: optimize variable assignments after `OP_MOVE`. | Yukihiro "Matz" Matsumoto | |
| - `OP_SETGV` - `OP_SETIV` - `OP_SETCV` - `OP_SETCONST` | |||
| 2021-07-17 | codegen.c: optimize `OP_SETUPVAR` after `OP_MOVE`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-16 | codegen.c: add new peephole optimization for `OP_MOVE`. | Yukihiro "Matz" Matsumoto | |
| If `OP_MOVE` comes after `OP_GETUPVAR`, you can skip move and redirect the destination register of `OP_GETUPVAR`. | |||
| 2021-07-16 | codegen.c: add new peephole optimization for `OP_GETUPVAR`. | Yukihiro "Matz" Matsumoto | |
| When `OP_GETUPVAR` is generated right after `OP_SETUPVAR`, there is no need to read the upvar back to the register, e.g. 3 008 OP_ADDI R2 1 3 011 OP_SETUPVAR R2 1 0 4 015 OP_GETUPVAR R2 1 0 4 019 OP_LOADI_2 R3 `OP_GETUPVAR` at the address `015` is useless. We can skip it like: 3 008 OP_ADDI R2 1 3 011 OP_SETUPVAR R2 1 0 4 015 OP_LOADI_2 R3 | |||
| 2021-07-15 | codegen.c: `gen_jmpdst` always needs to generate relative address. | Yukihiro "Matz" Matsumoto | |
| 2021-07-10 | Update internal methods not to be listed in backtraces. | Yukihiro "Matz" Matsumoto | |
| - String#__lines - Array#__ary_eq - Array#__ary_cmp - Hash#__delete - Kernel#__case_eqq - Integer#__coerce_step_counter | |||
| 2021-07-09 | debug.h: use `uint8_t` instead of `char` for BER compressed binary. | Yukihiro "Matz" Matsumoto | |
| 2021-07-09 | codegen.c: avoid uninitialized local variable. | Yukihiro "Matz" Matsumoto | |
| 2021-07-08 | pack.c: fix integer signedness mixture. | Yukihiro "Matz" Matsumoto | |
| 2021-07-08 | mruby-bin-debugger: remove unused local variables. | Yukihiro "Matz" Matsumoto | |
| 2021-07-08 | mruby-bin-debugger: support `mrb_debug_line_packed_map`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-08 | mruby-bin-debugger: rename prefix 'mrb_debug_' to `mrdb_`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-06 | Merge branch 'mrb_debug_strdup-and-strndup' of ↵ | Yukihiro "Matz" Matsumoto | |
| https://github.com/cremno/mruby into cremno-mrb_debug_strdup-and-strndup | |||
| 2021-07-04 | codegen.c: jump address should be generated by `gen_jmpdst()`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-03 | vm.c: `OP_DEF` to push a symbol to `a` register. | Yukihiro "Matz" Matsumoto | |
| The code generator no longer need to emit `OP_LOADSYM` after `OP_DEF`. `doc/opcode.md` is also updated. | |||
| 2021-06-30 | Revert "Remove `OP_EXT[123]` from operands." | Yukihiro "Matz" Matsumoto | |
| This reverts commit fd10c7231906ca48cb35892d2a86460004b62249. I thought it was OK to restrict index value within 1 byte, but in some cases index value could be 16 bits (2 bytes). I had several ideas to address the issue, but reverting `fd10c72` is the easiest way. The biggest reason is `mruby/c` still supports `OP_EXT[123]`, so that they don't need any additional work. | |||
| 2021-06-29 | string.rb: `upto` to break when the string length is longer than `end`. | Yukihiro "Matz" Matsumoto | |
