Yukihiro "Matz" Matsumoto
1e61a875ed
mruby-data: adjust local variable declarations
2024-05-05 18:56:20 +09:00
Yukihiro "Matz" Matsumoto
0a61a9a76f
mruby-struct: adjust local variable declarations
2024-05-05 18:55:42 +09:00
Yukihiro "Matz" Matsumoto
c548943a2b
mruby-symbol-ext: adjust local variable declarations
2024-05-04 08:30:53 +09:00
Yukihiro "Matz" Matsumoto
86b1c8ff87
string.c (utf8_strlen): add assertion utf8_len <= byte_len
2024-05-03 07:50:40 +09:00
Yukihiro "Matz" Matsumoto
aea3e7aedd
mruby-sprintf: raise ArgumentError for % at the bottom
2024-05-03 07:46:45 +09:00
Yukihiro "Matz" Matsumoto
4801a424a3
mruby-time: adjust local variable declarations
2024-05-02 19:55:29 +09:00
Yukihiro "Matz" Matsumoto
c5314a29b7
mruby-test: move declarations in driver.c and vformat.c
2024-05-01 13:24:32 +09:00
Yukihiro "Matz" Matsumoto
2c8cde2ba7
codedump.c: move variable declarations to initialization place
2024-04-30 22:17:22 +09:00
Yukihiro "Matz" Matsumoto
fa213a2d89
string.c (search_nonascii): prevent buffer overrun; ref #6255
2024-04-29 16:35:08 +09:00
Yukihiro "Matz" Matsumoto
714ef4c4fd
string.c (mrb_utf8_strlen): handle invalid UTF-8 sequence; fix #6255
...
Previous SWAR version assumes valid UTF-8 to count number of code points
in the string, but we need to handle invalid sequence as well. We now
use `search_nonascii` to skip counting single byte characters for
performance. The new version is even faster than SWAR version (probably
because `search_nonascii` uses SSE2 on Intel compatible CPU (which I use).
2024-04-29 15:37:22 +09:00
Yukihiro "Matz" Matsumoto
c9ae8df2c2
error.c: move variable declaration to initialization
2024-04-29 14:42:49 +09:00
Yukihiro "Matz" Matsumoto
7cea1cd035
Merge pull request #6256 from dearblue/doc/mrb_top_run
...
Update documentation for `mrb_top_run()`
2024-04-27 14:57:03 +09:00
Yukihiro "Matz" Matsumoto
09896099ee
Merge pull request #6257 from jethrodaniel/tiny-mrbconf-doc-updates
...
fix some mrbconf.md typos
2024-04-27 14:41:50 +09:00
Mark Delk
b99536f1fc
rm unneeded MRB_NO_GEMS doc addition
2024-04-26 23:33:16 -05:00
Mark Delk
f78eab7c3f
fix some typos, mention MRB_NO_GEMS
2024-04-26 19:54:07 -05:00
Yukihiro "Matz" Matsumoto
598dca7a08
debug.c: move local variable declarations to initialization place
2024-04-27 08:40:36 +09:00
dearblue
a0526418ce
Update documentation for mrb_top_run()
...
Also, add explanations for the `mrb_load_irep()` and `mrb_load_string()` families, which are indirect calls to `mrb_top_run()`.
2024-04-26 22:05:45 +09:00
Yukihiro "Matz" Matsumoto
7edbff8c83
Merge pull request #6253 from dearblue/fiber-sweep
...
Allow recycling fibers by GC if not referenced directly
2024-04-25 11:34:08 +09:00
Yukihiro "Matz" Matsumoto
22518b5b78
Merge pull request #6244 from dearblue/mrb_vm_run
...
Revise scope of role of `mrb_vm_run()`
2024-04-24 08:45:29 +09:00
dearblue
f1c9260ada
Allow recycling fibers by GC if not referenced directly
...
The patch assumes that `struct REnv::cxt` only performs checks with the `OP_BREAK` and `OP_RETURN_BLK` instructions, and does not reference the entity.
Therefore, by changing to a weak reference, it is possible to collect fibers that are no longer directly referenced while in the suspended state.
However, we need to detach the living env objects that remain in the call stack of the fiber.
So, in effect, it involves a revert of following commits.
- commit a3365d8b3f
- commit 57ffa1c150
Examples of the effects of change are shown below.
Note that it was built with `rake MRUBY_CONFIG=host-debug`.
```ruby
f = Fiber.new { (x, y, z) = "X", "Y", "Z"; Fiber.yield -> { [x, y, z] } }
g = f.resume
GC.start
p ObjectSpace.memsize_of_all
# => 59532
g.call
# => ["X", "Y", "Z"]
f = nil
GC.start
ObjectSpace.memsize_of_all
# BEFORE => 59532
# AFTER => 58044
g.call
# => ["X", "Y", "Z"]
```
2024-04-23 22:30:32 +09:00
dearblue
c8c7d1ab23
Don't mrb_realloc_simple() call mrb_full_gc() in the sweep phase
...
`mrb_env_unshare()` calls `mrb_realloc_simple()` and follows `mrb_full_gc()` to avoid an infinite loop where `mrb_env_unshare()` is called again.
This does not occur at this time, but may occur in subsequent patches.
2024-04-23 22:25:54 +09:00
Yukihiro "Matz" Matsumoto
85120d524a
Merge pull request #6250 from jbampton/fix-spelling
...
Fix spelling
2024-04-23 00:21:59 +09:00
Yukihiro "Matz" Matsumoto
3d32bc11ef
Merge pull request #6252 from mruby/dependabot/github_actions/super-linter/super-linter-6.4.1
...
build(deps): bump super-linter/super-linter from 6.4.0 to 6.4.1
2024-04-23 00:20:28 +09:00
Yukihiro "Matz" Matsumoto
2e4dc20673
Merge pull request #6251 from jbampton/clean-up-root-move-codeowners
...
Clean up root move `CODEOWNERS` to `.github` directory
2024-04-23 00:18:03 +09:00
dependabot[bot]
2fc2c20155
build(deps): bump super-linter/super-linter from 6.4.0 to 6.4.1
...
Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter ) from 6.4.0 to 6.4.1.
- [Release notes](https://github.com/super-linter/super-linter/releases )
- [Changelog](https://github.com/super-linter/super-linter/blob/main/CHANGELOG.md )
- [Commits](https://github.com/super-linter/super-linter/compare/v6.4.0...v6.4.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 >
2024-04-22 14:37:45 +00:00
John Bampton
5c39e39b8a
Clean up root move CODEOWNERS to .github directory
...
https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-file-location
2024-04-22 20:41:41 +10:00
John Bampton
67c5ced277
Fix spelling
2024-04-22 18:00:27 +10:00
Yukihiro "Matz" Matsumoto
ca29aa81bd
Merge pull request #6247 from jbampton/clean-up-dockerignore
...
Clean up the `.dockerignore` file
2024-04-22 09:49:52 +09:00
Yukihiro "Matz" Matsumoto
34c8e8253a
Merge pull request #6249 from jbampton/fix-grammar
...
Fix grammar in `src/vm.c`; `catched` -> `caught`
2024-04-22 09:49:19 +09:00
Yukihiro "Matz" Matsumoto
9c2fa6239e
Merge pull request #6248 from jbampton/pre-commit-autoupdate
...
pre-commit autoupdate
2024-04-22 09:47:53 +09:00
Yukihiro "Matz" Matsumoto
87b756086f
Merge pull request #6246 from jbampton/fix-spelling
...
Fix typo in `test/t/hash.rb`
2024-04-22 09:47:22 +09:00
Yukihiro "Matz" Matsumoto
5661cf6939
Merge pull request #6245 from jbampton/gha-label-more-files
...
gha: add labels to more files
2024-04-22 09:46:58 +09:00
John Bampton
f9c2ea2f11
Fix grammar in src/vm.c; catched -> caught
...
Saying 'catched' instead of 'caught' is a grammatical error
2024-04-22 00:01:21 +10:00
John Bampton
fef91724cb
pre-commit autoupdate
...
https://pre-commit.com/#pre-commit-autoupdate
2024-04-21 23:21:46 +10:00
John Bampton
7e8ec85f6b
Clean up the .dockerignore file
2024-04-21 22:46:19 +10:00
John Bampton
983a13f342
Fix typo in test/t/hash.rb
2024-04-21 22:21:57 +10:00
John Bampton
b71092d440
gha: add labels to more files
2024-04-21 21:32:03 +10:00
dearblue
5aa20f41ef
Revise scope of role of mrb_vm_run()
...
`mrb_vm_run()` is,
- It does not change the fiber context.
- When control is returned, only one ci prepared by the caller is popped.
If the ci equals cibase when called, the ci position does not change.
related commits:
- commit 4e84bdb507
- commit 34dd258c63
- commit ebd6636a1e
- commit c6736357a7
- commit 23a4e7149d
- commit 31a961acf1
2024-04-21 13:30:24 +09:00
Yukihiro "Matz" Matsumoto
ad476c3684
Merge pull request #6243 from dearblue/base64
2024-04-21 08:25:56 +09:00
dearblue
6c2f570d79
Fixed base64 decoding in mruby-pack
...
Previously `\x80` was incorrectly mapped to `0`.
```ruby
"\x80\x80\x80\x80".unpack("m*")
# before => "\x00\x00\x00"
# after => ""
```
The reason is that the C string terminator is placed in `base64_dec_tab[128]` and the array length is obtained by `sizeof`.
Therefore, the length of `base64_dec_tab[]` is strictly specified and replaced with element-by-element initialization.
Also, similar changes are made to `base64chars[]`.
2024-04-20 09:56:08 +09:00
Yukihiro "Matz" Matsumoto
4a27a18807
dump.c: adjust local variable declarations
2024-04-20 09:54:55 +09:00
Yukihiro "Matz" Matsumoto
c445723fa4
enum.c: adjust local variable declaration
2024-04-19 16:20:36 +09:00
Yukihiro "Matz" Matsumoto
8350106896
etc.c: adjust local variable initializations
2024-04-18 15:49:19 +09:00
Yukihiro "Matz" Matsumoto
ca26f41b57
mruby-sprintf: remove unnecessary assignment
2024-04-18 15:48:45 +09:00
Yukihiro "Matz" Matsumoto
e52b608ed9
Merge pull request #6241 from mruby/dependabot/github_actions/super-linter/super-linter-6.4.0
...
build(deps): bump super-linter/super-linter from 6.3.1 to 6.4.0
2024-04-18 07:53:16 +09:00
dependabot[bot]
e2f7c5daff
build(deps): bump super-linter/super-linter from 6.3.1 to 6.4.0
...
Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter ) from 6.3.1 to 6.4.0.
- [Release notes](https://github.com/super-linter/super-linter/releases )
- [Changelog](https://github.com/super-linter/super-linter/blob/main/CHANGELOG.md )
- [Commits](https://github.com/super-linter/super-linter/compare/v6.3.1...v6.4.0 )
---
updated-dependencies:
- dependency-name: super-linter/super-linter
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-17 14:28:32 +00:00
Yukihiro "Matz" Matsumoto
c01899a8d3
Merge pull request #6235 from leviongit/array/delete
...
fix `Array#delete` always firing the block when deleting `nil`
2024-04-16 07:35:59 +09:00
Yukihiro "Matz" Matsumoto
aec67dcd17
Merge pull request #6237 from dearblue/env-strict
...
Stricter env objects to attach to ci
2024-04-15 13:59:32 +09:00
Yukihiro "Matz" Matsumoto
93c02e96d5
Merge pull request #6238 from dearblue/init-stack
...
Minimize zero initialization of the stack
2024-04-15 13:59:14 +09:00
Yukihiro "Matz" Matsumoto
c183e12d68
Merge pull request #6236 from leviongit/array/filters
...
unify the code for filter methods (and speed up `#reject!`)
2024-04-15 00:05:12 +09:00