Commit graph

77079 commits

Author SHA1 Message Date
David Rodríguez
8a8ade7e5e [rubygems/rubygems] Use more common linux platform for specs
3841a58095
2023-03-17 18:50:55 +09:00
David Rodríguez
f22765f535 [rubygems/rubygems] Use splatted args to lockfile_platforms_for
Nicer :)

c0ab2893c3
2023-03-17 18:50:55 +09:00
dependabot[bot]
c0866f8adb Bump actions/cache from 3.2.6 to 3.3.1
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.6 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.6...88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-17 13:53:39 +09:00
dependabot[bot]
c7ae6f6ae8 Bump actions/checkout from 3.3.0 to 3.4.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.3.0 to 3.4.0.
- [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.3.0...24cb9080177205b6e8c946b17badbe402adc938f)

---
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-03-17 13:17:30 +09:00
dependabot[bot]
53ebd484c4 Bump ruby/setup-ruby from 1.144.0 to 1.144.1
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.144.0 to 1.144.1.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](9669f3ee51...e6689b4deb)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-17 12:38:33 +09:00
Koichi Sasada
f29c9d6d36 compile branch body if needed
```ruby
if true
  THEN
else
  ELSE
end
```

On this case, ELSE is not needed so that only compile THEN part.
2023-03-17 09:50:41 +09:00
lukeg
d2c6dca8f4 Fix small issues concerning namespacing in test-all suite
* Fix temporary methods on Object leaking across test cases.
* Remove temporary classes/modules leaking across test cases.
2023-03-17 08:46:37 +09:00
Jimmy Miller
5825d7d4a1
YJIT: Remove exit for rest and send combo (#7546) 2023-03-16 17:40:36 -04:00
Maxime Chevalier-Boisvert
473009d7cb
YJIT: add stats to keep track of when branch direction is known (#7544)
This measures the impact of changes made by @jhawthorn last year.
2023-03-16 17:24:08 -04:00
John Hawthorn
617c9b4656 Rename opes to operands on RubyVM::BaseInstruction 2023-03-16 14:16:56 -07:00
John Hawthorn
8dbddd5bf8 Rename opes to operands
Co-authored-by: Aaron Patterson <aaron.patterson@gmail.com>
2023-03-16 14:16:56 -07:00
John Hawthorn
d454a590cc Re-add RJIT::Instruction#opes 2023-03-16 14:16:56 -07:00
Takashi Kokubun
182f4f0d1c Fix a bindgen CI failure 2023-03-16 11:05:54 -07:00
Takashi Kokubun
ed18093200 Fix the JIT-unsupported case 2023-03-16 10:48:17 -07:00
Takashi Kokubun
9947574b9c Refactor jit_func_t and jit_exec
I closed https://github.com/ruby/ruby/pull/7543, but part of the diff
seems useful regardless, so I extracted it.
2023-03-16 10:42:17 -07:00
Takashi Kokubun
a8e7fee801 Revert "core_assertions.rb: Refine assert_linear_performance"
This reverts commit cae4342dd5.

This is failing a lot of CIs and nobody is actively looking into fixing
it. Let me revert this until we have a solution to it.
2023-03-16 09:22:42 -07:00
Alan Wu
2f81bb793f Add thread and ractor counts to bug reports
This is useful for crash triaging. It also helps to hint extension
developers about the misuse of `rb_thread_call_without_gvl()`.

Example:

    $ ./miniruby -e 'Ractor.new{Ractor.receive};
        Thread.new{sleep}; Process.kill:SEGV,Process.pid'
    <snip>
    -- Threading information ---------------------------------------------------
    Total ractor count: 2
    Ruby thread count for this ractor: 2
2023-03-16 10:46:30 -04:00
Peter Zhu
e0cf80d666 Fix incorrect size of WeakMap buffer
In wmap_final_func, j is the number of elements + 1 (since j also
includes the length at the 0th index), so we should resize the buffer
to size j and the new length is j - 1.
2023-03-16 10:00:02 -04:00
Burdette Lamar
671ddb1eee
[DOC] Enhanced RDoc for TrueClass (#7521) 2023-03-16 09:59:41 -04:00
Mau Magnaguagno
89f7acba3c [rubygems/rubygems] Improve TarTestCase#calc_checksum
97add0d1d7
2023-03-16 12:55:01 +00:00
Mau Magnaguagno
364364c3bd [rubygems/rubygems] Improve TarHeader#calculate_checksum
String#unpack("C*") is equivalent to String#bytes and Array#inject {|a,b| a + b } is equivalent to Array#sum.
This is a minor enhancement in terms of speed and readability.
2023-03-16 12:55:01 +00:00
Nobuyoshi Nakada
cae4342dd5
core_assertions.rb: Refine assert_linear_performance
* Use an `Enumerable` as factors, instead of three arguments.
2023-03-16 18:51:02 +09:00
Kazuhiro NISHIYAMA
5cffa69c1b
[DOC] Add missing escape
Before:
```
* + corresponds to $+, which contains last capture group.
```

After:
```
* \+ corresponds to $+, which contains last capture group.
```
2023-03-16 18:37:19 +09:00
Matt Valentine-House
90d3bbb52b [Feature #19442] Remove GC_ENABLE_INCREMENTAL_MARK
Ruby doesn't compile when this is disabled, and it's not tested on CI.
We should remove it.

Co-Authored-By: Peter Zhu <peter@peterzhu.ca>
2023-03-16 09:32:08 +00:00
Matt Valentine-House
b3a271665b [Feature #19442] Remove USE_RINCGC flag
Ruby doesn't compile when this is set to 0. Let's remove it.
2023-03-16 09:32:08 +00:00
Nobuyoshi Nakada
0b303c6830 [ruby/openssl] Relax error message check for OpenSSL 3.1
A tentative measures fo https://github.com/ruby/openssl/issues/606.

With OpenSSL 3.1.0, the error message at connection using "self-signed
certificate" seems to return `SSL_R_TLSV1_ALERT_UNKNOWN_CA` instead of
`SSL_R_CERTIFICATE_VERIFY_FAILED`.

fc4629d246
2023-03-16 17:17:46 +09:00
dependabot[bot]
a6c447d4c5 Bump github/codeql-action from 2.2.6 to 2.2.7
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.6 to 2.2.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](16964e90ba...168b99b3c2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-16 12:38:21 +09:00
Hiroshi SHIBATA
f3b129241c [rubygems/rubygems] Applied Layout/SpaceAroundOperators cop
3139587be9
2023-03-16 01:59:12 +00:00
Hiroshi SHIBATA
760b8b7d24 [rubygems/rubygems] Change enforce style with Layout/CaseIndentation on rubygems
d4938259c4
2023-03-16 01:59:11 +00:00
Takashi Kokubun
6183180603
YJIT: Eliminate unnecessary mov for trampolines (#7537) 2023-03-15 16:27:36 -07:00
Alan Wu
ca10274fe3
YJIT: Use assert_disasm! in an A64 test to avoid unused warning
I kept getting unused warnings for this macro on A64 macOS.
2023-03-15 19:07:49 -04:00
Maxime Chevalier-Boisvert
9a735c776b
YJIT: use u16 for insn_idx instead of u32 (#7534) 2023-03-15 17:55:29 -04:00
Matt Valentine-House
4ae9c34a4e Move RB_VM_SAVE_MACHINE_CONTEXT to internal/thread.h 2023-03-15 21:26:26 +00:00
Matt Valentine-House
60b8c7d9fd Rename RB_GC_SAVE_MACHINE_CONTEXT -> RB_VM_SAVE_MACHINE_CONTEXT 2023-03-15 21:26:26 +00:00
Matt Valentine-House
5791aa6263 Move RB_GC_SAVE_MACHINE_CONTEXT to vm_core.h 2023-03-15 21:26:26 +00:00
Alan Wu
de174681f7 YJIT: Assert that we have the VM lock while marking
Somewhat important because having the lock is a key part of the
soundness reasoning for the `unsafe` usage here.
2023-03-15 15:45:20 -04:00
Takashi Kokubun
f613c18912 Partially revert GH-7511
to see if it stabilizes Cirrus CI.
2023-03-15 09:53:49 -07:00
Aaron Patterson
77c8daa2d4
Make EC required on JIT state (#7520)
* Make EC required on JIT state

Lets make EC required on the JITState object so we don't need to
`unwrap` it.

* Minor nitpicks

---------

Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
2023-03-15 10:55:07 -04:00
Hiroshi SHIBATA
56b38fdd69 [rubygems/rubygems] Use OpenSSL::Digest instead of digest stdlib
69aa007679
2023-03-15 11:21:22 +00:00
Hiroshi SHIBATA
a90302adec [rubygems/rubygems] Added OpenSSL namespace explicitly
bf4382e7a7
2023-03-15 11:21:21 +00:00
Hiroshi SHIBATA
b528ecc164 [rubygems/rubygems] OpenSSL::Digest is always provided after Ruby 2.4
4f2f2ad412
2023-03-15 11:21:21 +00:00
Nobuyoshi Nakada
09041a6ee8
core_assertions.rb: Refine assert_linear_performance
* Add `rehearsal` keyword argument
* Stop repeating with the same factor
2023-03-15 18:19:31 +09:00
Jean Boussier
ca437aeb39 rb_ary_sum: don't enter fast path if initial isn't a native numeric type.
[Bug #19530]

If the initial value isn't one of the special cased types, we directly
jump to the slow path.
2023-03-15 09:12:59 +00:00
Koichi Sasada
6462c1a042 Hash#dup for kwsplat arguments
On `f(*a, **kw)` method calls, a rest keyword parameter is identically
same Hash object is passed and it should make `#dup`ed Hahs.

fix https://bugs.ruby-lang.org/issues/19526
2023-03-15 18:05:13 +09:00
Samuel Williams
7fd53eeb46
Remove SIGCHLD waidpid. (#7527)
* Remove `waitpid_lock` and related code.

* Remove un-necessary test.

* Remove `rb_thread_sleep_interruptible` dead code.
2023-03-15 19:48:27 +13:00
Nobuyoshi Nakada
ce47ee00ae Fix indirect counter increment
`*pcnt++` just dereferences `pcnt` then increments the local variable,
but has no side effect.
2023-03-15 13:59:11 +09:00
Hiroshi SHIBATA
04a2550928 [rubygems/rubygems] Don't use full_required_path and extension_dir under the bundler
72169288ff
2023-03-15 03:35:55 +00:00
Hiroshi SHIBATA
31137dc67f [rubygems/rubygems] Removed test for
https://github.com/rubygems/rubygems/pull/6444, I have no idea to
migrate this test to bundler example
yet

0d869019bf
2023-03-15 03:35:54 +00:00
Hiroshi SHIBATA
55a0fbfaf8 [rubygems/rubygems] Move build artifact detection logic for root gemspec to bundler from Gem::Specification.
Gem::Specification#missing_extension? is heavily called from RubyGems.
  We should reduce extra method call from this place.

e24e59d44d
2023-03-15 03:35:54 +00:00
Peter Zhu
3dc8cde700 Fix crash during compaction
[Bug #19529]

The fix for [Bug #19529] in commit 548086b contained a bug that crashes
on the following script:

```
wm = ObjectSpace::WeakMap.new
obj = Object.new
100.times do
  wm[Object.new] = obj
  GC.start
end
GC.compact
```
2023-03-14 23:18:11 -04:00