| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-08-03 | codegen.c: check zero division before constant folding. | Yukihiro "Matz" Matsumoto | |
| 2021-08-03 | numeric_ext.c: `modulo` and `remainder` should handle infinite argument. | Yukihiro "Matz" Matsumoto | |
| 2021-08-03 | numeric_ext.c: add `Float#modulo` and `#remainder` methods. | Yukihiro "Matz" Matsumoto | |
| 2021-08-03 | numeric_ext.c: update `Integer#remainder` method. | Yukihiro "Matz" Matsumoto | |
| - need to detect zero division error - support floating point number argument (as `%`) | |||
| 2021-08-03 | codegen.c: avoid division by zero in constant folding. | Yukihiro "Matz" Matsumoto | |
| 2021-08-03 | numeric_ext.c: use `mrb_integer` instead of `mrb_as_int`. | Yukihiro "Matz" Matsumoto | |
| `mrb_as_int` implicitly converts the value into the integer, but those methods are defined for Integer class so that the value should always be integers. | |||
| 2021-08-03 | numeric_ext.c: define `modulo` and `remainder` methods for `Integer`. | Yukihiro "Matz" Matsumoto | |
| 2021-08-03 | numeric_ext.c: remove unnecessary prefix `mrb_` from static functions. | Yukihiro "Matz" Matsumoto | |
| 2021-08-02 | codegen.c: allow constant folding for negative integer modulo. | Yukihiro "Matz" Matsumoto | |
| 2021-08-02 | mrdb.c: do not skip `OP_JMP` on step execution. | Yukihiro "Matz" Matsumoto | |
| 2021-08-02 | codegen.c: refactor `readint()` to read `MRB_INT_MIN`. | Yukihiro "Matz" Matsumoto | |
| 2021-08-02 | test/driver.c: remove unused constants related to `FIXNUM`. | Yukihiro "Matz" Matsumoto | |
| 2021-08-02 | codegen.c: fix a bug in bit shift constant folding. | Yukihiro "Matz" Matsumoto | |
| 2021-08-02 | codegen.c: refactor unary operator optimization. | Yukihiro "Matz" Matsumoto | |
| 2021-08-02 | codegen.c: constant folding binary operators, <<, >>, %, &, |, ^. | Yukihiro "Matz" Matsumoto | |
| 2021-08-01 | codegen.c: eliminate loop if condition is constant. | Yukihiro "Matz" Matsumoto | |
| For example, `while false; ...; end` should be removed. | |||
| 2021-08-01 | codegen.c: peephole optimize OP_JMPxxx. | Yukihiro "Matz" Matsumoto | |
| 2021-07-31 | codegen.c: allow constant folding for mul / div. | Yukihiro "Matz" Matsumoto | |
| 2021-07-31 | codegen.c: `mrb_prev_pc()` to take previous instruction position. | Yukihiro "Matz" Matsumoto | |
| It rescans `s->iseq` so that peephole optimizer can take multiple previous instructions for constant folding, etc. | |||
| 2021-07-29 | codegen.c: order instructions in natural order for loops. | Yukihiro "Matz" Matsumoto | |
| `while` and `until` generates in `cond` `jmpif` `body` `jmp` order. It used to be in `jmp` `body` `cond` `jmpif` order. | |||
| 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 | |
