Commit Graph

15298 Commits

Author SHA1 Message Date
dearblue 7112db9fba Extends bin/mruby-config
Added output for C++ and Assembly, ObjectiveC.
2023-09-17 17:48:36 +09:00
Yukihiro "Matz" Matsumoto 74949b3e7e Merge pull request #6053 from dearblue/gitattributes
Add `.gitattributes` for newline code normalization
2023-09-17 16:36:28 +09:00
dearblue 078b5ccaff Add .gitattributes for newline code normalization
References:
  - [Git] リポジトリで改行コードを正規化する
    https://zenn.dev/murnana/articles/eol-and-gitattributes
  - 行終端を処理するようGitを設定する - GitHub Docs
    https://docs.github.com/ja/get-started/getting-started-with-git/configuring-git-to-handle-line-endings
2023-09-17 13:52:48 +09:00
Yukihiro "Matz" Matsumoto 4810706ccc vm.c: refactor redundant if conditions 2023-09-16 14:49:58 +09:00
Yukihiro "Matz" Matsumoto f041d3a5d5 Merge pull request #6047 from mruby/dependabot/github_actions/super-linter/super-linter-5.2.2
build(deps): bump super-linter/super-linter from 5.2.1 to 5.2.2
2023-09-15 13:35:03 +09:00
Yukihiro "Matz" Matsumoto e8254eda42 gc.c: update comment for flexible array members (C++ incompatible) [ci skip] 2023-09-15 13:33:52 +09:00
Yukihiro "Matz" Matsumoto 4fe8b074bb gc.c: remove prev link from mrb_heap_page 2023-09-15 13:33:52 +09:00
Yukihiro "Matz" Matsumoto 44b5153360 gc.c: revert af68de52dddd80afe1620c45680eb055767a412f
The change increased memory consumption significantly
2023-09-15 13:33:52 +09:00
Yukihiro "Matz" Matsumoto 22e74a7ee5 gc.c: experiment before removing page->prev link 2023-09-15 13:33:52 +09:00
Yukihiro "Matz" Matsumoto 9b90fd4f60 gc.c (incremental_sweep_phase): rebuild free pages link only if needed 2023-09-15 13:33:52 +09:00
Yukihiro "Matz" Matsumoto 9f840e111a gc.c: inline unlink_heap_page which was called only once 2023-09-15 13:33:52 +09:00
Yukihiro "Matz" Matsumoto 0f69e93664 gc.c: inline link_heap_page which was called once 2023-09-15 13:33:51 +09:00
Yukihiro "Matz" Matsumoto 117fcfc8e9 gc.c: stop using bidirectional link for free_heaps
Reduce size of the heap pages again; ref #6041
2023-09-15 13:33:51 +09:00
Yukihiro "Matz" Matsumoto e1c96b709a Merge pull request #6045 from dearblue/presym-escape.2
Fixes escape sequence bug and enhancements in Presym scanning
2023-09-15 13:11:26 +09:00
dependabot[bot] d8ad654460 build(deps): bump super-linter/super-linter from 5.2.1 to 5.2.2
Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/super-linter/super-linter/releases)
- [Changelog](https://github.com/super-linter/super-linter/blob/main/docs/release-process.md)
- [Commits](https://github.com/super-linter/super-linter/compare/v5.2.1...v5.2.2)

---
updated-dependencies:
- dependency-name: super-linter/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 14:08:56 +00:00
Yukihiro "Matz" Matsumoto d708931b10 gc.c: revert 38b9a25e83
Fix #6041
2023-09-09 14:31:13 +09:00
dearblue 25f360803c Fixes escape sequence bug and enhancements in Presym scanning
In #6011, a hexadecimal escape sequence followed by a hexadecimal character would cause a compile error.
Also, avoid using "Numbered Parameter" which older Ruby does not have (e.g. AppVeyor).

ref. #6044
2023-09-08 22:57:24 +09:00
Yukihiro "Matz" Matsumoto 5eddccf89a gc.c: remove unnecessary symbol local variables 2023-09-08 14:15:54 +09:00
Yukihiro "Matz" Matsumoto d7b2e3ab14 mruby-compiler/parse.y: add print name for identifier tokens 2023-09-05 23:29:24 +09:00
Yukihiro "Matz" Matsumoto e8841fbf58 gc.h: move mrb_heap_page definition to gc.c 2023-09-05 23:29:24 +09:00
Yukihiro "Matz" Matsumoto acf5b74daa vm.c (ary_new_from_regs): avoid mrb_ary_push()
Use mrb_ary_new_from_values(), which is faster instead.
2023-09-05 23:29:23 +09:00
Yukihiro "Matz" Matsumoto 9914243d68 vm.c: use direct array access if possible 2023-09-05 23:29:23 +09:00
Yukihiro "Matz" Matsumoto 0eef05cc00 array.c (mrb_ary_to_s): use direct array access 2023-09-05 23:29:23 +09:00
Yukihiro "Matz" Matsumoto 159ff5b28d mrbgems/mruby-struct/src/struct.c: use direct array access
Unless we need boundary check, we don't need to use mrb_ary_ref().
2023-09-05 23:29:23 +09:00
Yukihiro "Matz" Matsumoto 1578f4bb99 mruby-data/data.c: use direct array access
Unless we need boundary check, we don't need to use mrb_ary_ref()
2023-09-05 23:29:23 +09:00
Yukihiro "Matz" Matsumoto 4cf810e4ea Merge pull request #6042 from mruby/dependabot/github_actions/actions/checkout-4
build(deps): bump actions/checkout from 3 to 4
2023-09-05 23:28:55 +09:00
dependabot[bot] f893c18088 build(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 14:59:02 +00:00
Yukihiro "Matz" Matsumoto 792459e63d Merge pull request #6040 from dearblue/puts-eol
Convert to string before output in `puts`
2023-08-30 22:30:58 +09:00
Yukihiro "Matz" Matsumoto a20fbe54b9 mrbgems/mruby-test/mrbgem.rake: stop mrb isolation for each test file
It reduces the number of `mrb_state` initialization in `mrbtest`. But at
the same time, each test in a gem shares states (classes, methods, etc.)
2023-08-30 18:32:48 +09:00
Yukihiro "Matz" Matsumoto a67f32561f test/t/codegen.rb: test 127 arguments with break not next
In addition, avoid using undefined constant `A` because it terminates
actual execution by `NameError`.
2023-08-30 18:28:59 +09:00
dearblue 301bcc636e Convert to string before output in puts
For example, evaluating `puts nil` raised `NoMethodError` before.
2023-08-29 21:59:09 +09:00
Yukihiro "Matz" Matsumoto a17fdb7481 AUTHORS: update entries [ci skip] 2023-08-28 10:59:29 +09:00
Yukihiro "Matz" Matsumoto b85b6822b2 hash.c (mrb_hash_aset): avoid slower mrb_get_args() 2023-08-26 22:30:20 +09:00
Yukihiro "Matz" Matsumoto 0578e518e6 src/vm.c: adjust mrb_gc_protect() for kdict argument
It was called repeatedly in some cases.
2023-08-25 23:12:08 +09:00
Yukihiro "Matz" Matsumoto 1e385692d1 Rakefile: remove default build target directories in deep_clean
Ref #6038, #6032
2023-08-24 12:57:27 +09:00
Yukihiro "Matz" Matsumoto f43f2fc8f3 mruby-socket/socket.c: use internal name for instance variables
For Socket::Option objects.
2023-08-23 11:27:03 +09:00
Yukihiro "Matz" Matsumoto 2160be7db7 mruby-socket/socket.rb: remove unused canonname accessor 2023-08-22 23:27:08 +09:00
Yukihiro "Matz" Matsumoto 95e09c0c95 mruby-method: implement Kernel#singleton method in C
- Also fixes error message inconsistency
- Avoid unnecessary method object allocation if possible
2023-08-22 10:53:52 +09:00
Yukihiro "Matz" Matsumoto a16b2b0e12 Merge pull request #6038 from dearblue/revert-6032-update-rake-task-clean
Revert "Rake: update task clean to remove `bin` and `build` folders"
2023-08-21 22:28:17 +09:00
Yukihiro "Matz" Matsumoto 182c06a46b codedump.c: fflush() output 2023-08-21 17:27:03 +09:00
Yukihiro "Matz" Matsumoto 982a378425 mruby-print/print.c: stop flushing every time in printstr
Instead, call `fflush` at the end of `print` method, if stdout is
connected to a tty.
2023-08-21 12:47:44 +09:00
Yukihiro "Matz" Matsumoto 192e6e3b9f mruby-print/print.c: remove internal method __printstr
Instead, implement `print` method in C and use it from mrblib/print.rb
2023-08-21 12:47:44 +09:00
dearblue 14a0cc4b7b Revert "Rake: update task clean to remove bin and build folders" 2023-08-18 22:36:21 +09:00
Yukihiro "Matz" Matsumoto bd41dfbcb9 mruby-socket/socket.c (socket_option_inspect): readable family name
Print readable name for know protocol families.
2023-08-17 10:54:59 +09:00
Yukihiro "Matz" Matsumoto 2fb478db76 Merge pull request #6037 from mruby/dependabot/github_actions/super-linter/super-linter-5.2.1
build(deps): bump super-linter/super-linter from 5.2.0 to 5.2.1
2023-08-17 10:53:10 +09:00
dependabot[bot] 1dbfeab2df build(deps): bump super-linter/super-linter from 5.2.0 to 5.2.1
Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 5.2.0 to 5.2.1.
- [Release notes](https://github.com/super-linter/super-linter/releases)
- [Changelog](https://github.com/super-linter/super-linter/blob/main/docs/release-process.md)
- [Commits](https://github.com/super-linter/super-linter/compare/v5.2.0...v5.2.1)

---
updated-dependencies:
- dependency-name: super-linter/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-16 14:29:51 +00:00
Yukihiro "Matz" Matsumoto 58e10f16e9 mruby-socket/socket.c: include Socket::Constants in C init 2023-08-16 13:23:56 +09:00
Yukihiro "Matz" Matsumoto 1d7c00e920 mruby-socket/socket.c: implement whole Socket::Option class in C
`mruby-pack` gem no longer needed.
2023-08-15 15:29:36 +09:00
Yukihiro "Matz" Matsumoto 83b6a63c16 mruby-socket/socket.c: implement accessors in C 2023-08-15 07:35:29 +09:00
Yukihiro "Matz" Matsumoto e209f0a220 mruby-socket/socket.c (socket_option_init): add integer type checks 2023-08-15 07:31:04 +09:00