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

72440 Коммитов

Автор SHA1 Сообщение Дата
Aaron Patterson cfc8d7eaec Use iseq bitmap when updating references
This allows us to delete the disassembly code path for reference
updating.
2022-06-29 17:07:42 -07:00
Aaron Patterson 8d157bc806 Move function to `static inline` so we don't have leaked globals
This function shouldn't leak and is only needed during instruction
assembly
2022-06-29 16:21:48 -07:00
Aaron Patterson e3ab525f69 Fix ISeq dump / load in array cases
We need to dump relative offsets for inline storage entries so that
loading iseqs as an array works as well.  This commit also has some
minor refactoring to make computing relative ISE information easier.

This should fix the iseq dump / load as array tests we're seeing fail in
CI.

Co-Authored-By: John Hawthorn <john@hawthorn.email>
2022-06-29 16:21:48 -07:00
Peter Zhu 66eb58d6bd Refactor tests for moving strings with compaction 2022-06-29 15:11:53 -04:00
David Rodríguez 95bfea6648 [rubygems/rubygems] Use modern style hashes in Gemfile DSL docs
https://github.com/rubygems/rubygems/commit/3f83236c02
2022-06-30 04:11:17 +09:00
Noah Gibbs 118e3edc32
Add a check-yjit-bindgen-unused target. Add to CI. (#6066)
This fails if there are any unused rust-bindgen "allow" entries. For
that target we turn on Rust warnings (there are a lot) and grep for the
ones that correspond to unused allow entries.

I've added check-yjit-bindgen-unused as a dependency of
check-yjit-bindings, so unused allow entries will now fail CI.

This change also removes our single unused allow entry (VM_CALL.*) which
was known to be bad.
2022-06-29 12:49:46 -04:00
git b340d566e5 * 2022-06-30 [ci skip] 2022-06-30 00:40:48 +09:00
Nobuyoshi Nakada bd8ed1f904
Do not call `exit()` directly 2022-06-29 20:10:29 +09:00
Nobuyoshi Nakada 685efac059
[Bug #18884] `class` cannot be just followed by modifiers 2022-06-29 14:13:15 +09:00
Nobuyoshi Nakada 5e1c182900
Remove no longer used label [ci skip] 2022-06-29 12:38:12 +09:00
Ian Ker-Seymer 3051d4bc2a [rubygems/rubygems] Support ruby 2.3 and 2.4
https://github.com/rubygems/rubygems/commit/3a9205df36
2022-06-29 09:53:14 +09:00
Ian Ker-Seymer 50e576292b [rubygems/rubygems] Upgrade rb-sys to 0.9.14
https://github.com/rubygems/rubygems/commit/c9adf3ef1c
2022-06-29 09:53:14 +09:00
David Rodríguez a16de43f23 [rubygems/rubygems] Add `gem env user_gemhome` and `gem env user_gemdir`
https://github.com/rubygems/rubygems/commit/14d3f80df6
2022-06-29 03:25:46 +09:00
David Rodríguez f0fab24241 [rubygems/rubygems] Add missing test for user installation directory
https://github.com/rubygems/rubygems/commit/5ab8aa2a45
2022-06-29 03:25:46 +09:00
David Rodríguez 1098fdf890 [rubygems/rubygems] Also document `gem env` argument aliases
https://github.com/rubygems/rubygems/commit/6d841ccbd4
2022-06-29 03:25:45 +09:00
David Rodríguez 7a33d3df6a [rubygems/rubygems] Document better names for `gem env` arguments
I think `gem env home` and `gem env path` read very nice.

https://github.com/rubygems/rubygems/commit/b89da79456
2022-06-29 03:25:45 +09:00
Burdette Lamar 59273ff6e2 [ruby/fileutils] [DOC] Changes to examples (https://github.com/ruby/fileutils/pull/96)
* Changes to examples

https://github.com/ruby/fileutils/commit/346a71b2cb
2022-06-29 00:39:59 +09:00
git 364b5e75bb * 2022-06-29 [ci skip] 2022-06-29 00:23:34 +09:00
st0012 a415a3de05 [ruby/irb] Properly reset USE_COLORIZE after changing it in tests
Some context tests assigns USE_COLORIZE to false and never change it
back. This can potentially affect other tests' result as the default
should be nil (activated) instead.

https://github.com/ruby/irb/commit/986eb16ece
2022-06-29 00:23:18 +09:00
Tomas Volf 69337a65b2 [rubygems/rubygems] Fix test_install_location_extra_slash on alpine
Under POSIX behavior of leading // is implementation defined. Musl does
preserve it in realpath, glibc does not. That means the test was failing
when executed on alpine linux. Original issue #508 was about // in the
path, not about leading ones. When executed in such environment, the
test will still test what it should when the explicit mangling of the
path is not done.

Fixes #5652

https://github.com/rubygems/rubygems/commit/0fa7373bf6
2022-06-28 23:31:33 +09:00
Matt Valentine-House ca85bd818a [ci skip] Improve man page docs around --dump options 2022-06-28 10:10:26 -04:00
st0012 7d211c93af [ruby/irb] Color.colorable? needs to consider the condition when irb is not loaded
ruby/debug uses `irb/color` selectively:
0ac22406bb/lib/debug/color.rb (L4)

And in that case, `IRB.conf` won't be defined. So Color.colorable? needs
to consider that.

This also fixes the Ruby trunk CI.

https://github.com/ruby/irb/commit/b2cd07e795
2022-06-28 22:57:17 +09:00
Stan Lo 44c1316293 [ruby/irb] Centralize coloring control (https://github.com/ruby/irb/pull/374)
* Use colorable: argument as the only coloring control

* Centalize color controling logic at Color.colorable?

There are 2 requirements for coloring output:

1. It's supported on the platform
2. The user wants it: `IRB.conf[:USE_COLORIZE] == true`

Right now we check 1 and 2 separately whenever we colorize things.
But it's error-prone because while 1 is the default of `colorable`
parameter, 2 always need to manually checked. When 2 is overlooked, it
causes issues like https://github.com/ruby/irb/pull/362

And there's 0 case where we may want to colorize even when the user
disables it. So I think we should merge 2 into `Color.colorable?` so it
can be automatically picked up.

* Add tests for all inspect modes

* Simplify inspectors' coloring logic

* Replace use_colorize? with Color.colorable?

* Remove Context#use_colorize cause it's redundant

https://github.com/ruby/irb/commit/1c53023ac4
2022-06-28 22:30:42 +09:00
Nobuyoshi Nakada 5ccdcd8168 [ruby/rdoc] Remove dead code
https://github.com/ruby/rdoc/commit/f727854bd5
2022-06-28 21:24:59 +09:00
Nobuyoshi Nakada 5e66525e41
[DOC] Document `Process::Tms` 2022-06-28 20:19:05 +09:00
Nobuyoshi Nakada 131422ceea [ruby/rdoc] Support attributes defined by `rb_struct_define`
https://github.com/ruby/rdoc/commit/854b370763
2022-06-28 20:17:30 +09:00
Nobuyoshi Nakada 98bf8c83fa [ruby/rdoc] Refinement is added since ruby 3.1
https://github.com/ruby/rdoc/commit/c051eb90d1
2022-06-28 15:49:05 +09:00
Nobuyoshi Nakada 51be2cf6d2 [ruby/rdoc] Parse also InitVM-prefixed functions
Initialization depending on VM is separated.

https://github.com/ruby/rdoc/commit/030d10fccd
2022-06-28 14:51:49 +09:00
git aba804ef91 * 2022-06-28 [ci skip] 2022-06-28 01:26:32 +09:00
Noah Gibbs (and/or Benchmark CI) 5da31b62b0 Make sure string-operation assertions happen inside a method to be sure YJIT will JIT them. 2022-06-27 09:26:18 -07:00
Noah Gibbs (and/or Benchmark CI) 0fab06f3c3 Separate Type::String into Type::CString and Type::TString.
Also slightly broaden the cases where << on two strings will generate
specialised code rather than a plain method call.
2022-06-27 09:25:57 -07:00
David Rodríguez f9f85a513b [rubygems/rubygems] Print error messages just once in verbose mode
When running a command with the `--verbose` flag that ends up raising a
`BundlerError`, Bundler will unnecessarily print the error twice.

This commit fixes the issue by removing the duplicate logging.

https://github.com/rubygems/rubygems/commit/689004a164
2022-06-27 23:35:45 +09:00
pocari 8c6c3e30f3 [ruby/reline] Enable to change the background color of dialogs. (https://github.com/ruby/reline/pull/413)
https://github.com/ruby/reline/commit/bd49537964
2022-06-27 22:28:49 +09:00
Nobuyoshi Nakada b6b9a6190d
Check availability of `utimensat` on macOS 2022-06-27 17:52:13 +09:00
Nobuyoshi Nakada 6ba52647c3
mac: Remove debug option fro MJIT_DEBUGFLAGS
Not to generate .dSYM directories by MJIT runs, which are left in
large numbers after each test.
2022-06-27 17:38:07 +09:00
David Rodríguez f83c5de6d5 [rubygems/rubygems] Improve error message when `operating_system.rb` fails to load
Show an absolute path instead of an unhelpful relative path.

https://github.com/rubygems/rubygems/commit/f1eed36e2f
2022-06-27 17:03:24 +09:00
Takashi Kokubun 232e2f5981
Skip TupleSpaceProxyTest on MINGW64 too
It wasn't specific to UCRT64

https://github.com/ruby/ruby/runs/7062992464
2022-06-26 21:00:04 -07:00
Jeremy Evans c3eb0437f2 Fix Process.clock_gettime specs on OpenBSD 2022-06-26 12:39:16 -07:00
git 63134551fa * 2022-06-27 [ci skip] 2022-06-27 01:09:50 +09:00
Nobuyoshi Nakada fc8020c68e
[Bug #18879] Fix macOS version detections
macOS's AvailabilityMacros.h does not contain macros for future
versions.  If a version macro is not defined, consider only earlier
versions to be targeted.
2022-06-27 01:08:46 +09:00
Alan Wu 49d5921550 Fix Rinda test teardown for omitted tests
New test failures on MINGW appeared after
c2e37c8ff7.

      1) Error:
    Rinda::TupleSpaceProxyTest#test_00_template:
    NoMethodError: undefined method `stop_service' for nil:NilClass
        D:/a/ruby/ruby/src/test/rinda/test_rinda.rb:516:in `teardown'

      2) Error:
    Rinda::TupleSpaceProxyTest#test_ruby_talk_264062:
    NoMethodError: undefined method `stop_service' for nil:NilClass
        D:/a/ruby/ruby/src/test/rinda/test_rinda.rb:516:in `teardown'

Teardown happens even when the test is omitted.

See: https://github.com/ruby/ruby/runs/7058984522
2022-06-26 09:24:22 -04:00
Benoit Daloze d3d5ef0cca Update to ruby/spec@ab32a1a 2022-06-26 14:50:14 +02:00
Benoit Daloze f616e81637 Update to ruby/mspec@78b5d86 2022-06-26 14:50:13 +02:00
Alan Wu ef79f0a9e5 YJIT: Fix copy pasted comment [ci skip] 2022-06-26 08:36:17 -04:00
Alan Wu 2085201176 YJIT: Undef YJIT_SUPPORTED_P for hygiene
YJIT_BUILD is more relevant outside of YJIT.
2022-06-26 08:36:10 -04:00
Takashi Kokubun c2e37c8ff7
Try skipping TupleSpaceProxyTest on MinGW UCRT64
As you all know, MinGW UCRT64 CI has randomly got stuck despite its
"Finished tests" output.

Looking at the logs closely, it seems like all of the recent such
reproductions end with the following output:

```
  Retrying hung up testcases...
  [ 1/14] Rinda::TupleSpaceProxyTest#test_ruby_talk_264062 = 0.21 s
  [ 2/14] Rinda::TupleSpaceProxyTest#test_00_template = 0.01 s
  [ 3/14] Rinda::TupleSpaceProxyTest#test_inp_rdp = 0.00 s
  [ 4/14] Rinda::TupleSpaceProxyTest#test_core_03_notify = 0.01 s
  [ 5/14] Rinda::TupleSpaceProxyTest#test_00_renewer = 0.01 s
  [ 6/14] Rinda::TupleSpaceProxyTest#test_cancel_02 = 0.11 s
  [ 7/14] Rinda::TupleSpaceProxyTest#test_00_DRbObject = 0.00 s
  [ 8/14] Rinda::TupleSpaceProxyTest#test_core_02 = 0.11 s
  [ 9/14] Rinda::TupleSpaceProxyTest#test_core_01 = 0.11 s
  [10/14] Rinda::TupleSpaceProxyTest#test_remote_array_and_hash = 0.01 s
  [11/14] Rinda::TupleSpaceProxyTest#test_00_tuple = 0.00 s
  [12/14] Rinda::TupleSpaceProxyTest#test_take_bug_8215 = 0.41 s
  [13/14] Rinda::TupleSpaceProxyTest#test_cancel_01 = 0.11 s
  [14/14] Rinda::TupleSpaceProxyTest#test_symbol_tuple = 0.01 s
  Finished tests in 719.252845s, 29.4292 tests/s, 3838.7154 assertions/s.
  21167 tests, 2761007 assertions, 0 failures, 0 errors, 708 skips
```

https://github.com/ruby/ruby/runs/7057789554

While it seems to be retried successfully, given that it hungs up once
and this appears all the time, this test class seems a bit suspicious.
To check if it's related, let me try disabling this for now.
2022-06-25 23:36:14 -07:00
Nobuyoshi Nakada 0e5f9afff6 [ruby/irb] Set prompt mode explictly
Fix https://github.com/ruby/irb/pull/353

https://github.com/ruby/irb/commit/7db93f9326
2022-06-26 15:23:33 +09:00
Nobuyoshi Nakada a2b3f2014c [ruby/irb] Require stringio to use StringIO
https://github.com/ruby/irb/commit/e024ab716b
2022-06-26 15:23:32 +09:00
Peter Jones e0bfdb23af [ruby/irb] Ensure stdout is a TTY before calling winsize
When outputting a (possibly truncated) value, IRB will query the
window size.  However, if IRB was piped to another process, stdout
will no longer be a TTY and will not support the `winsize` method.

This fix ensure that stdout is a TTY.

https://github.com/ruby/irb/commit/125de5eeea
2022-06-26 14:40:48 +09:00
Kazuhiro NISHIYAMA 846a6bb60f
[DOC] Fix a typo [ci skip] 2022-06-26 14:17:14 +09:00