Alan Wu
e50f102489
CI: Pass -O2 for annocheck
...
Because `optflags` is pasted into the invocation line after `CC`, we were
building with -O1 unintentionally. You can see this in the configuration
summary: https://github.com/ruby/ruby/actions/runs/3933391169/jobs/6727044423#step:9:753
The check actually fails with -O2. To make it pass, upstream suggest
that we use the annocheck GCC plugin. Since it requires building from
source as the debian package for it isn't ready yet, punt on it for now
and use `--skip-gaps`.
Co-authored-by: Jun Aruga <jaruga@redhat.com>
2023-02-03 13:26:45 -05:00
Jean Boussier
c6b90e5e9c
Mark "mapping_buffer" as write barrier protected
...
It doesn't have any reference so it can be marked as protected.
2023-02-03 19:10:42 +01:00
Takashi Kokubun
08c529be90
YJIT: Support ifunc on invokeblock ( #7233 )
2023-02-03 10:14:42 -05:00
Jean Boussier
8e7d2cc2ab
Implement Write Barrier for Backtrace::Location
...
It only has a single reference, set in a single place.
2023-02-03 15:58:44 +01:00
Jean Boussier
fe5ce1ee41
Enable write barriers on File::Stat
...
It holds no reference, so no changes needed.
2023-02-03 15:37:01 +01:00
Burdette Lamar
faa4c2279a
[ruby/net-http] [DOC] Enhanced RDoc for write_timeout
...
(https://github.com/ruby/net-http/pull/115 )
https://github.com/ruby/net-http/commit/6da39b0461
2023-02-03 14:33:53 +00:00
git
4d35365ace
Update default gems list at cbd5de4f88b889eb6bd40ddb073da5 [ci skip]
2023-02-03 07:50:34 +00:00
Nobuyoshi Nakada
cbd5de4f88
[ruby/stringio] Development of 3.0.6 started.
...
https://github.com/ruby/stringio/commit/a7561f447b
2023-02-03 07:49:31 +00:00
Maxime Chevalier-Boisvert
73674cac2b
YJIT: log the names of methods we call to in disasm ( #7231 )
...
* YJIT: log the names of methods we call to in disasm
* Assert that pointer is not null
* Handle case where UTF8 conversion not possible
2023-02-02 16:54:16 -05:00
Alan Wu
92ac5f686b
Fix typos in YJIT [ci skip]
2023-02-02 16:16:45 -05:00
Alan Wu
3b83b265f1
YJIT: Crash with rb_bug() when panicking
...
Helps with getting good bug reports in the wild. Intended to be
backported to the 3.2.x series.
2023-02-02 15:16:09 -05:00
Peter Zhu
5b34839b0f
Remove redundant else if statement in hash.c
...
Hashes can only be ar or st, so the else if is redundant.
2023-02-02 14:43:50 -05:00
Martin Emde
65ca14ea6e
[rubygems/rubygems] Fix TarReader::Entry#read/partial to match File#read and StringIO#read
...
TarReader is used as an IO object, but doesn't behave the same as other
implementations. These fixes make `read` and `readpartial` conform to the
interface of StringIO and File.
https://github.com/rubygems/rubygems/commit/bba32d7217
2023-02-02 17:17:34 +00:00
Martin Emde
0853703ec6
[rubygems/rubygems] Test to show non-standard behavior of zero byte files in archive
...
Added more tests for some of the other behavior as well.
Tests were missing for readpartial with a buffer, and reading
remaining bytes after a partial read, using StringIO as reference.
https://github.com/rubygems/rubygems/commit/d600a657b1
2023-02-02 17:17:33 +00:00
Alan Wu
188688a53e
YJIT: ARM64: Fix long jumps to labels
...
Previously, with Code GC, YJIT panicked while trying to emit a B.cond
instruction with an offset that is not encodable in 19 bits. This only
happens when the code in an assembler instance straddles two pages.
To fix this, when we detect that a jump to a label can land on a
different page, we switch to a fresh new page and regenerate all the
code in the assembler there. We still assume that no one assembler has
so much code that it wouldn't fit inside a fresh new page.
[Bug #19385 ]
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
2023-02-02 10:05:00 -05:00
Alan Wu
905e12a30d
YJIT: ARM64: Move functions out of arm64_emit()
2023-02-02 10:05:00 -05:00
Alan Wu
a690db390d
YJIT: other_cb is None in tests
...
Since the other cb is in CodegenGlobals, and we want Rust tests to be
self-contained.
2023-02-02 10:05:00 -05:00
Alan Wu
81b7f86f47
YJIT: Move CodegenGlobals::freed_pages into an Rc
...
This allows for supplying a freed_pages vec in Rust tests. We need it so we
can test scenarios that occur after code GC.
2023-02-02 10:05:00 -05:00
Peter Zhu
84be7a4089
Keep shared arrays WB protected
...
Sharing an array will cause it to be WB unprotected due to the use
of `RARRAY_PTR`. We don't need to WB unprotect the array because we're
not writing to the buffer of the array.
The following script demonstrates this issue:
```
ary = [1] * 1000
shared = ary[10..20]
puts ObjectSpace.dump(ary)
```
2023-02-02 09:17:20 -05:00
BurdetteLamar
3e5a77f1ae
[ruby/net-http] Remarks on inclusions
...
https://github.com/ruby/net-http/commit/dfd060c583
2023-02-02 14:16:59 +00:00
git
a874c3f4bb
Update default gems list at 5a9e2f142d9debfb44d7d23f6821b8 [ci skip]
2023-02-02 14:04:02 +00:00
Burdette Lamar
5a9e2f142d
[ruby/net-http] [DOC] Enhanced RDoc for HTTPGenericRequest
...
(https://github.com/ruby/net-http/pull/113 )
https://github.com/ruby/net-http/commit/14c8405702
2023-02-02 14:03:19 +00:00
Nobuyoshi Nakada
89d9547800
[ruby/stringio] Revert "bump up to 3.0.6" [ci skip]
...
This reverts commit https://github.com/ruby/stringio/commit/325933500b35 .
It is bumped to 3.0.5 in advance but not released yet.
https://github.com/ruby/stringio/commit/af67c36693
2023-02-02 12:44:53 +00:00
Hiroshi SHIBATA
c35ebed895
Removed OS specific section because It's out of scope for us.
2023-02-02 18:11:06 +09:00
Hiroshi SHIBATA
3474a62033
Mentioned scoop and vcpkg for windows build instruction
2023-02-02 14:48:44 +09:00
Takashi Kokubun
1c5bd01363
Add a test for svar #7225 ( #7228 )
2023-02-01 21:47:45 -08:00
Hiroshi SHIBATA
4d82e94200
Ignore rb_mjit_header.h.new and ripper.tmp.y
2023-02-02 14:12:08 +09:00
git
71e9eacc4c
Update default gems list at 8087ba736e447c11296fadd9cf32bd [ci skip]
2023-02-02 04:45:47 +00:00
Nobuyoshi Nakada
8087ba736e
[ruby/stringio] bump up to 3.0.6
...
https://github.com/ruby/stringio/commit/325933500b
2023-02-02 04:44:38 +00:00
Nobuyoshi Nakada
fad48fefe1
[Bug #19399 ] Parsing invalid heredoc inside block parameter
...
Although this is of course invalid as Ruby code, allow to just parse
and tokenize.
2023-02-02 12:20:10 +09:00
Nobuyoshi Nakada
f499c81b01
[DOC] Merge README.win32 to doc/windows.md
2023-02-02 11:22:16 +09:00
Koichi Sasada
0a82bfe5e1
use correct svar ( #7225 )
...
* use correct svar
Without this patch, svar location is used "nearest Ruby frame".
It is almost correct but it doesn't correct when the `each` method
is written in Ruby.
```ruby
class C
include Enumerable
def each
%w(bar baz).each{|e| yield e}
end
end
C.new.grep(/(b.)/){|e| p [$1, e]}
```
This patch fix this issue by traversing ifunc's cfp.
Note that if cfp doesn't specify this Thread's cfp stack, reserved
svar location (`ec->root_svar`) is used.
* make yjit-bindgen
---------
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
2023-02-01 16:13:19 -08:00
Maxime Chevalier-Boisvert
2675f2c864
Remove whitespace
2023-02-01 16:05:22 -05:00
Peter Zhu
c6f84e9189
[Bug #19398 ] Memory leak in WeakMap
...
There's a memory leak in ObjectSpace::WeakMap due to not freeing
the `struct weakmap`. It can be seen in the following script:
```
100.times do
10000.times do
ObjectSpace::WeakMap.new
end
# Output the Resident Set Size (memory usage, in KB) of the current Ruby process
puts `ps -o rss= -p #{$$}`
end
```
2023-02-01 13:23:55 -05:00
Hiroshi SHIBATA
375f527ded
[rubygems/rubygems] Introduce to specify deprecated version for rubygems_deprecate_command.
...
We sometimes to remove minor command without bumping major version. This feature
helps this deprecation process.
https://github.com/rubygems/rubygems/commit/41301cd2a8
2023-02-01 16:44:55 +00:00
Peter Zhu
aa222b56fa
[ruby/bigdecimal] Make BigDecimal WB protected
...
BigDecimal has no references, so it is WB protected.
https://github.com/ruby/bigdecimal/commit/29c61c90e8
2023-02-01 15:59:11 +00:00
NARUSE, Yui
269c5d408f
fix to work with the case default issue is used
2023-02-01 22:49:54 +09:00
Nobuyoshi Nakada
62146d3cee
Fix a typo
2023-02-01 22:45:45 +09:00
Nobuyoshi Nakada
9445a14d31
Suppress an unused-function warning
2023-02-01 22:42:12 +09:00
Nobuyoshi Nakada
ee3176a27a
Reject VS2022 compiler versions with the known bugs
2023-02-01 17:13:01 +09:00
dependabot[bot]
941783461f
Bump ruby/setup-ruby from 1.133.0 to 1.134.0
...
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby ) from 1.133.0 to 1.134.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases )
- [Commits](09c10210cc...ee26e27437 )
---
updated-dependencies:
- dependency-name: ruby/setup-ruby
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 16:25:22 +09:00
dependabot[bot]
4f4038e634
Bump actions/cache from 3.2.2 to 3.2.4
...
Bumps [actions/cache](https://github.com/actions/cache ) from 3.2.2 to 3.2.4.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](4723a57e26...627f0f41f6 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 16:24:49 +09:00
Nobuyoshi Nakada
7b343d9c67
Extract body rules from endless method definitions
2023-02-01 16:17:12 +09:00
dependabot[bot]
eb8f284cf2
Bump github/codeql-action from 2.1.37 to 2.2.1
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2.1.37 to 2.2.1.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](959cbb7472...3ebbd71c74 )
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 13:56:43 +09:00
dependabot[bot]
ea572708d6
Bump actions/upload-artifact from 3.1.1 to 3.1.2
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](83fd05a356...0b7f8abb15 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 13:56:29 +09:00
dependabot[bot]
41e84c7b09
Bump actions/checkout from 3.2.0 to 3.3.0
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](755da8c3cf...ac59398561 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 13:56:14 +09:00
Takashi Kokubun
5694515460
Document BUNDLED_GEMS in make test
2023-01-31 15:02:44 -08:00
Jimmy Miller
1148fab7ae
YJIT: Handle splat with opt more fully ( #7209 )
...
* YJIT: Handle splat with opt more fully
* Update yjit/src/codegen.rs
---------
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
2023-01-31 16:18:56 -05:00
BurdetteLamar
3ebc80314c
[ruby/net-http] Redirection revision
...
https://github.com/ruby/net-http/commit/9a4e2d3a2a
2023-01-31 21:01:04 +00:00
Maxime Chevalier-Boisvert
97740a525e
Update yjit.md
...
Update some out of date information and mention how to check that YJIT is enabled.
2023-01-31 15:53:40 -05:00