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.
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.
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
...
dfd060c583
2023-02-02 14:16:59 +00:00
git
a874c3f4bb
Update default gems list at 5a9e2f142d
[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 )
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 325933500b
.
It is bumped to 3.0.5 in advance but not released yet.
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 8087ba736e
[ci skip]
2023-02-02 04:45:47 +00:00
Nobuyoshi Nakada
8087ba736e
[ruby/stringio] bump up to 3.0.6
...
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.
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.
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
...
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
Peter Zhu
9f9dca0c52
Remove rb_hash_ar_table_p
...
It's dead code and duplicate of RHASH_AR_TABLE_P.
2023-01-31 15:48:09 -05:00
Peter Zhu
2296b877d8
Remove rb_hash_st_table
...
It's a duplicate of RHASH_ST_TABLE.
2023-01-31 15:48:09 -05:00
Peter Zhu
2866f951c5
Remove rb_hash_ar_table
...
It's dead code and duplicate of RHASH_AR_TABLE.
2023-01-31 15:48:09 -05:00
Takashi Kokubun
e11067ebbf
YJIT: Fix BorrowMutError on BOP invalidation ( #7212 )
2023-01-31 15:26:56 -05:00
Alan Wu
eac5ae22e2
YJIT: Group unimplemented method types together
...
Grouping these together helps with finding all of the unimplemented
method types. It was interleaved with some other match arm long and
short previously.
2023-01-31 14:29:18 -05:00
Maxime Chevalier-Boisvert
4ce642620f
Make sure RUBY_YJIT_ENABLE only enables YJIT for truthy values ( #7208 )
...
* Make sure RUBY_YJIT_ENABLE only enables YJIT for truthy values
Addresses bug reported in: https://github.com/Shopify/yjit/issues/309
* Update ruby.c
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
---------
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
2023-01-31 12:18:41 -05:00
Takashi Kokubun
74e52c2a17
Disable broken last_files_match_only for now
2023-01-31 09:15:05 -08:00
Maxime Chevalier-Boisvert
c221a40201
Update yjit.md
2023-01-31 10:33:08 -05:00
Takashi Kokubun
2a0bf269c9
YJIT: Implement codegen for Kernel#block_given? ( #7202 )
2023-01-31 10:11:10 -05:00
Takashi Kokubun
2181a66374
Test VM_CHECK_MODE on GitHub Actions ( #7204 )
...
It's disabled in compilers.yml, but it's nice to test CHECK_CANAY
on GitHub Actions as well.
2023-01-31 06:48:24 -08:00
Kunshan Wang
de724487f0
Copying GC support for EXIVAR
...
Instance variables held in gen_ivtbl are marked with rb_gc_mark. It
prevents the referenced objects from moving, which is bad for copying
garbage collectors.
This commit allows those instance variables to be updated during
gc_update_object_references.
2023-01-31 09:24:26 -05:00
Burdette Lamar
d92289f633
[ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP
...
(https://github.com/ruby/net-http/pull/110 )
b098caa5e4
2023-01-31 14:18:50 +00:00