summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2021-07-25time.c: fixed `time_zonename` buffer size bug.Yukihiro "Matz" Matsumoto
2021-07-25time.c: stop returning `LOCAL` for the zone name from `Time.zone`.Yukihiro "Matz" Matsumoto
2021-07-25time.c: update the document for `Time#usec`; close #5515Yukihiro "Matz" Matsumoto
2021-07-25pack.c: fixed sign comparison warning.Yukihiro "Matz" Matsumoto
2021-07-25parse.y: replace `strtoul()` by `mrb_int_read()`.Yukihiro "Matz" Matsumoto
2021-07-25Remove redundant include headers.Yukihiro "Matz" Matsumoto
- stdlib.h - stddef.h - stdint.h - stdarg.h - limits.h - float.h
2021-07-24Merge pull request #5514 from ↵Yukihiro "Matz" Matsumoto
mruby/dependabot/github_actions/github/super-linter-4.5.1 build(deps): bump github/super-linter from 4.5.0 to 4.5.1
2021-07-23build(deps): bump github/super-linter from 4.5.0 to 4.5.1dependabot[bot]
Bumps [github/super-linter](https://github.com/github/super-linter) from 4.5.0 to 4.5.1. - [Release notes](https://github.com/github/super-linter/releases) - [Commits](https://github.com/github/super-linter/compare/v4.5.0...v4.5.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-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
`OP_LOADI Rn -0` should be `OP_LOADI_0`.
2021-07-20codegen.c: allow `OP_EXT` before `OP_ADDI` and `OP_SUBI`.Yukihiro "Matz" Matsumoto
This is preparation for integer constant folding.
2021-07-19Remove unused prototypes for `mrb_proc_merge_lvar()`; ref #5511Yukihiro "Matz" Matsumoto
2021-07-19Merge pull request #5511 from dearblue/binding.3Yukihiro "Matz" Matsumoto
Explicit write barrier for binding
2021-07-18Merge pull request #5510 from dearblue/check-stdintYukihiro "Matz" Matsumoto
Output an error if the `INTPTR_MAX` macro is undefined in C++
2021-07-17Merge pull request #5509 from dearblue/cast-c++Yukihiro "Matz" Matsumoto
Avoid implicit casting from void pointers for C++
2021-07-17Explicit write barrier for bindingdearblue
2021-07-17Output an error if the `INTPTR_MAX` macro is undefined in C++dearblue
When doing `conf.enable_cxx_abi` and compiling with FreeBSD + clang or MinGW, such as `INTPTR_MAX` constant macro is not defined if `#include <stdint.h>` precedes `#include <mruby.h>`. Currently I get a warning when I use an undefined macro, but if I don't notice it I get confused in a link error. It can be expected that the problem will be easier to understand by making a clear error. Adding `-Werror=undef` as a compiler flag can also result in an error, but this can be a problem if the system header file itself uses undefined macros, for example. This patch does minimal confirmation only, but has no side effects.
2021-07-17Avoid implicit casting from void pointers for C++dearblue
2021-07-17codedump.c: update some instructions.Yukihiro "Matz" Matsumoto
- OP_GETGV - OP_SETGV - OP_GETSV - OP_SETSV - OP_GETIV - OP_SETIV - OP_GETCV - OP_SETCV - OP_GETCONST - OP_SETCONST - OP_GETMCNST - OP_SETMCNST - OP_GETUPVAR - OP_SETUPVAR
2021-07-17codegen.c: optimize variable assignments after `OP_MOVE`.Yukihiro "Matz" Matsumoto
- `OP_SETGV` - `OP_SETIV` - `OP_SETCV` - `OP_SETCONST`
2021-07-17codegen.c: optimize `OP_SETUPVAR` after `OP_MOVE`.Yukihiro "Matz" Matsumoto
2021-07-16Merge pull request #5508 from ↵Yukihiro "Matz" Matsumoto
mruby/dependabot/github_actions/github/super-linter-4.5.0 build(deps): bump github/super-linter from 4.4.1 to 4.5.0
2021-07-16codegen.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-16codegen.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-15build(deps): bump github/super-linter from 4.4.1 to 4.5.0dependabot[bot]
Bumps [github/super-linter](https://github.com/github/super-linter) from 4.4.1 to 4.5.0. - [Release notes](https://github.com/github/super-linter/releases) - [Commits](https://github.com/github/super-linter/compare/v4.4.1...v4.5.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-07-15test/syntax.rb: add tests for `break` and `redo`.Yukihiro "Matz" Matsumoto
2021-07-15codegen.c: `gen_jmpdst` always needs to generate relative address.Yukihiro "Matz" Matsumoto
2021-07-15Merge pull request #4141 from udzura/add-test-for-attr-nil-guardYukihiro "Matz" Matsumoto
Add a testcase of #4137 fix
2021-07-15Merge pull request #5507 from ↵Yukihiro "Matz" Matsumoto
mruby/dependabot/github_actions/github/super-linter-4.4.1 build(deps): bump github/super-linter from 4.3.0 to 4.4.1
2021-07-14build(deps): bump github/super-linter from 4.3.0 to 4.4.1dependabot[bot]
Bumps [github/super-linter](https://github.com/github/super-linter) from 4.3.0 to 4.4.1. - [Release notes](https://github.com/github/super-linter/releases) - [Commits](https://github.com/github/super-linter/compare/v4.3.0...v4.4.1) --- 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-07-14Merge pull request #5506 from ↵Yukihiro "Matz" Matsumoto
mruby/dependabot/github_actions/github/super-linter-4.3.0 build(deps): bump github/super-linter from 4.2.2 to 4.3.0
2021-07-13build(deps): bump github/super-linter from 4.2.2 to 4.3.0dependabot[bot]
Bumps [github/super-linter](https://github.com/github/super-linter) from 4.2.2 to 4.3.0. - [Release notes](https://github.com/github/super-linter/releases) - [Commits](https://github.com/github/super-linter/compare/v4.2.2...v4.3.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-07-12load.c: call `mrb_top_run()` from `mrb_load_proc()`; fix #5504Yukihiro "Matz" Matsumoto
So that the function behave consistently with `mrb_load_proc()`.
2021-07-11TODO.md: update.Yukihiro "Matz" Matsumoto
2021-07-10numeric.c: `self` should always be an integer in `__coerce_step_counter`.Yukihiro "Matz" Matsumoto
2021-07-10Update 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-10Merge pull request #5503 from ntl/correct-header-files-when-cdump-disabledYukihiro "Matz" Matsumoto
Mrbgem gem_init.c: add headers for irep loading when cdump is disabled, but presym is enabled
2021-07-10Merge pull request #5505 from dearblue/stdintYukihiro "Matz" Matsumoto
Do not include `stdint.h` before `mruby.h`
2021-07-09Do not include `stdint.h` before `mruby.h`dearblue
2021-07-09Mrbgem gem_init.c compilation correctionNathan Ladd
When `disable_cdump` is declared on a Mrbgem spec, the procedure for loading MRuby code from the gem's `mrblib` directory is slightly different; instead of loading the mrblib code as a Proc built from the compiled irep, the compiled irep is loaded directly. The header files `mruby.h` and `mruby/proc.h` are needed only when the irep is loaded directly. They are currently included only when presym is disabled, they should be included whenever either presym is disabled *or* when `disable_cdump` is called. The `cdump?` predicate method happens to return true in either case (presym disabled *or* cdump disabled), so this change should be safe.
2021-07-09debug.h: use `uint8_t` instead of `char` for BER compressed binary.Yukihiro "Matz" Matsumoto
A change in `load.c` is left uncommitted.