summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/codegen.c
AgeCommit message (Expand)Author
2021-08-11codegen.c: avoid signedness warning of int comparison.Yukihiro "Matz" Matsumoto
2021-08-11codegen.c: avoid cross initialization of `mrb_insn_data`.Yukihiro "Matz" Matsumoto
2021-08-11codegen.c: more peephole optimization.Yukihiro "Matz" Matsumoto
2021-08-07codegen.c: need to push the value when the loop was eliminated.Yukihiro "Matz" Matsumoto
2021-08-06codegen.c: `-9223372036854775808 % -1` overflows 64 bit integer.Yukihiro "Matz" Matsumoto
2021-08-05codegen.c: remove code duplication from `NODE_ARRAY`.Yukihiro "Matz" Matsumoto
2021-08-04codegen.c: detect integer overflow in division.Yukihiro "Matz" Matsumoto
2021-08-03codegen.c: check zero division before constant folding.Yukihiro "Matz" Matsumoto
2021-08-03codegen.c: avoid division by zero in constant folding.Yukihiro "Matz" Matsumoto
2021-08-02codegen.c: allow constant folding for negative integer modulo.Yukihiro "Matz" Matsumoto
2021-08-02codegen.c: refactor `readint()` to read `MRB_INT_MIN`.Yukihiro "Matz" Matsumoto
2021-08-02codegen.c: fix a bug in bit shift constant folding.Yukihiro "Matz" Matsumoto
2021-08-02codegen.c: refactor unary operator optimization.Yukihiro "Matz" Matsumoto
2021-08-02codegen.c: constant folding binary operators, <<, >>, %, &, |, ^.Yukihiro "Matz" Matsumoto
2021-08-01codegen.c: eliminate loop if condition is constant.Yukihiro "Matz" Matsumoto
2021-08-01codegen.c: peephole optimize OP_JMPxxx.Yukihiro "Matz" Matsumoto
2021-07-31codegen.c: allow constant folding for mul / div.Yukihiro "Matz" Matsumoto
2021-07-31codegen.c: `mrb_prev_pc()` to take previous instruction position.Yukihiro "Matz" Matsumoto
2021-07-29codegen.c: order instructions in natural order for loops.Yukihiro "Matz" Matsumoto
2021-07-28codegen.c: labels should be `uint32_t`.Yukihiro "Matz" Matsumoto
2021-07-28codegen.c: fix `loopinfo` structure members.Yukihiro "Matz" Matsumoto
2021-07-28codegen.c: removed bytecode when the value of `while` is not used.Yukihiro "Matz" Matsumoto
2021-07-28codegen.c: fixed a bug when value is taken from `while` and `until`.Yukihiro "Matz" Matsumoto
2021-07-25Remove redundant include headers.Yukihiro "Matz" Matsumoto
2021-07-23codegen.c: fixed a bug in `OP_LOADI32` peephole optimization.Yukihiro "Matz" Matsumoto
2021-07-22codegen.c: `get_int_operand()` to support `OP_LOADL` (int in pool).Yukihiro "Matz" Matsumoto
2021-07-22codegen.c: add constant folding for unary numeric operators (+, -, ~).Yukihiro "Matz" Matsumoto
2021-07-22codegen.c: compare symbol names directly avoiding string conversion.Yukihiro "Matz" Matsumoto
2021-07-21codegen.c: skip `-@` call if the argument is a literal integer.Yukihiro "Matz" Matsumoto
2021-07-21codegen.c: move `gen_setxv()` after `new_sym()`.Yukihiro "Matz" Matsumoto
2021-07-21codegen.c: introduce `gen_int()` to generate integer instructions.Yukihiro "Matz" Matsumoto
2021-07-21codegen.c: add peephole optimization for `OP_LOADI32` before `OP_MOVE`.Yukihiro "Matz" Matsumoto
2021-07-21codegen.c: add peephole optimization for `OP_LOADI16` before `OP_MOVE`.Yukihiro "Matz" Matsumoto
2021-07-21codegen.c: a new function `get_int_operand`.Yukihiro "Matz" Matsumoto
2021-07-20codegen.c: negative zero equals to positive zero.Yukihiro "Matz" Matsumoto
2021-07-20codegen.c: allow `OP_EXT` before `OP_ADDI` and `OP_SUBI`.Yukihiro "Matz" Matsumoto
2021-07-17codegen.c: optimize variable assignments after `OP_MOVE`.Yukihiro "Matz" Matsumoto
2021-07-17codegen.c: optimize `OP_SETUPVAR` after `OP_MOVE`.Yukihiro "Matz" Matsumoto
2021-07-16codegen.c: add new peephole optimization for `OP_MOVE`.Yukihiro "Matz" Matsumoto
2021-07-16codegen.c: add new peephole optimization for `OP_GETUPVAR`.Yukihiro "Matz" Matsumoto
2021-07-15codegen.c: `gen_jmpdst` always needs to generate relative address.Yukihiro "Matz" Matsumoto
2021-07-09codegen.c: avoid uninitialized local variable.Yukihiro "Matz" Matsumoto
2021-07-04codegen.c: jump address should be generated by `gen_jmpdst()`.Yukihiro "Matz" Matsumoto
2021-07-03vm.c: `OP_DEF` to push a symbol to `a` register.Yukihiro "Matz" Matsumoto
2021-06-30Revert "Remove `OP_EXT[123]` from operands."Yukihiro "Matz" Matsumoto
2021-06-26Fixed finding variables defined in the upper proc faileddearblue
2021-06-19codegen.c: stop `uninitialized` warning.Yukihiro "Matz" Matsumoto
2021-06-11codegen.c: refactor `readint()`Yukihiro "Matz" Matsumoto
2021-05-29codegen.c: just raise the exception on broken node for assignments.Yukihiro "Matz" Matsumoto
2021-03-31codegen.c: `s->ainfo` should be zero along with `OP_ENTER(0)`.Yukihiro "Matz" Matsumoto