Граф коммитов

76906 Коммитов

Автор SHA1 Сообщение Дата
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`.

https://github.com/ruby/openssl/commit/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
https://github.com/rubygems/rubygems/commit/3139587be9
2023-03-16 01:59:12 +00:00
Hiroshi SHIBATA 760b8b7d24 [rubygems/rubygems] Change enforce style with Layout/CaseIndentation on rubygems
https://github.com/rubygems/rubygems/commit/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
https://github.com/rubygems/rubygems/commit/69aa007679
2023-03-15 11:21:22 +00:00
Hiroshi SHIBATA a90302adec [rubygems/rubygems] Added OpenSSL namespace explicitly
https://github.com/rubygems/rubygems/commit/bf4382e7a7
2023-03-15 11:21:21 +00:00
Hiroshi SHIBATA b528ecc164 [rubygems/rubygems] OpenSSL::Digest is always provided after Ruby 2.4
https://github.com/rubygems/rubygems/commit/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
https://github.com/rubygems/rubygems/commit/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

https://github.com/rubygems/rubygems/commit/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.

https://github.com/rubygems/rubygems/commit/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
Takashi Kokubun 70ba310212
YJIT: Introduce no_gc attribute (#7511) 2023-03-14 15:38:58 -07:00
Takashi Kokubun 868f03cce1 Remove unused jit_enable_p flag
This was used only by MJIT.
2023-03-14 14:01:53 -07:00
Takashi Kokubun 9a43c63d43
YJIT: Implement throw instruction (#7491)
* Break up jit_exec from vm_sendish

* YJIT: Implement throw instruction

* YJIT: Explain what rb_vm_throw does [ci skip]
2023-03-14 13:39:06 -07:00
Takashi Kokubun 76f2031884
YJIT: Allow testing assembler with disasm (#7470)
* YJIT: Allow testing assembler with disasm

* YJIT: Drop new dependencies

* YJIT: Avoid address manipulation

* YJIT: Introduce assert_disasm! macro

* YJIT: Update the comment about assert_disasm
2023-03-14 13:26:05 -04:00
Jean Boussier 548086b34e ObjectSpace::WeakMap: fix compaction support
[Bug #19529]

`rb_gc_update_tbl_refs` can't be used on `w->obj2wmap` because it's
not a `VALUE -> VALUE` table, but a `VALUE -> VALUE *` table, so
we need some dedicated iterator.
2023-03-14 16:49:23 +01:00
Samuel Williams ac65ce16e9
Revert SIGCHLD changes to diagnose CI failures. (#7517)
* Revert "Remove special handling of `SIGCHLD`. (#7482)"

This reverts commit 44a0711eab.

* Revert "Remove prototypes for functions that are no longer used. (#7497)"

This reverts commit 4dce12bead.

* Revert "Remove SIGCHLD `waidpid`. (#7476)"

This reverts commit 1658e7d966.

* Fix change to rjit variable name.
2023-03-14 20:07:59 +13:00
Hiroshi SHIBATA b27793835b Try to use https://github.com/ruby/rbs/pull/1273 2023-03-14 13:58:50 +09:00
Takashi Kokubun 278b639b77 Disable RJIT_FORCE_ENABLE CI for now
Somehow btest-ruby is running miniruby. Not sure why.
https://github.com/ruby/ruby/actions/runs/4412043427/jobs/7731124729#step:16:402

For RJIT's experimental purposes, having just one CI is enough. I'd like
to focus on keeping .github/workflows/rjit.yml green.
2023-03-13 21:49:38 -07:00
dependabot[bot] 5868a7843a [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.65 to 0.9.67.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.65...v0.9.67)

---
updated-dependencies:
- dependency-name: rb-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 04:08:17 +00:00
Takashi Kokubun 4ad171bb25 Remove an unused VM option
This seems to be used nowhere today.
2023-03-13 20:54:00 -07:00
Hiroshi SHIBATA c58759f494
Removed to load jit_support.rb
It's removed at 4445b9e2a2
2023-03-14 12:51:58 +09:00
Takashi Kokubun d8344559b2 RJIT: Simplify how Capstone is used in tests 2023-03-13 20:42:19 -07:00
dependabot[bot] 1c8e69d602 Bump ruby/action-slack from 3.0.0 to 3.2.1
Bumps [ruby/action-slack](https://github.com/ruby/action-slack) from 3.0.0 to 3.2.1.
- [Release notes](https://github.com/ruby/action-slack/releases)
- [Commits](b6882ea6ef...0bd85c7223)

---
updated-dependencies:
- dependency-name: ruby/action-slack
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 12:39:51 +09:00
pkubaj 4e6c956741 Use __builtin_ppc_get_timebase on POWER with clang 2023-03-14 10:42:42 +09:00
Yusuke Endoh 56dbf83a85 Prevent a warning: assigned but unused variable
... which made a test fail

http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20230313T213003Z.fail.html.gz

```
  1) Failure:
TestRubyOptions#test_enable [/home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/test/ruby/test_rubyoptions.rb:176]:
pid 1208 exit 0
| /home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/lib/ruby_vm/rjit/insn_compiler.rb:1257: warning: assigned but unused variable - argc
| /home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/lib/ruby_vm/rjit/insn_compiler.rb:1258: warning: assigned but unused variable - flags
.

1. [2/2] Assertion for "stderr"
   | <[]> expected but was
   | <["/home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/lib/ruby_vm/rjit/insn_compiler.rb:1257: warning: assigned but unused variable - argc",
   |  "/home/chkbuild/chkbuild/tmp/build/20230313T213003Z/ruby/lib/ruby_vm/rjit/insn_compiler.rb:1258: warning: assigned but unused variable - flags"]>.
```
2023-03-13 22:07:25 +09:00
Takashi Kokubun 4976b1a049 Fork rbs to fix test failures
https://github.com/ruby/rbs/pull/1274
2023-03-13 15:33:01 -07:00
Takashi Kokubun c7822b8dbb
YJIT: Merge add/sub/and/or/xor and mov on x86_64 (#7492) 2023-03-13 16:32:45 -04:00
Stan Lo 309ff928f5 [ruby/irb] Replace METHOD_IS_A with ===
(https://github.com/ruby/irb/pull/542)

https://github.com/ruby/irb/commit/edd6c30e16
2023-03-13 18:11:58 +00:00
Burdette Lamar 1a8a24a633
[DOC] Enhanced RDoc for NilClass (#7500) 2023-03-13 12:55:59 -04:00
Jimmy Miller 45127c84d9
YJIT: Handle rest+splat where non-splat < required (#7499) 2023-03-13 11:12:23 -04:00
Stan Lo 1095baed34 [ruby/irb] Support inspecting BasicObject
(https://github.com/ruby/irb/pull/541)

https://github.com/ruby/irb/commit/1dc2a406a3
2023-03-13 14:31:37 +00:00
Hiroshi SHIBATA 8c6b349805 [rubygems/rubygems] Removed `Gem.datadir`.
https://github.com/rubygems/rubygems/pull/2216 is imcomplete to remove this method.

https://github.com/rubygems/rubygems/commit/34ef915d12
2023-03-13 09:54:04 +00:00
TSUYUSATO Kitsune dddc542e9b
[Bug #19476]: correct cache index computation for repetition (#7457) 2023-03-13 18:31:13 +09:00