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

77091 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA 4dd418f877 util/rubocop -A --only Style/FrozenStringLiteralComment 2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 50a03035ee util/rubocop -A --only Lint/NonLocalExitFromIterator 2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 2e3cd1dc3e [rubygems/rubygems] Enabled Style/RedundantReturn cop
https://github.com/rubygems/rubygems/commit/05cc97bdf8
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 19e9c4004b [rubygems/rubygems] util/rubocop -A --only Lint/BinaryOperatorWithIdenticalOperands
Many of class of RubyGems have original <=> methods. We should ignore
  these cops for testing.

https://github.com/rubygems/rubygems/commit/0a8645dc3b
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA a3670249fa [rubygems/rubygems] util/rubocop -A --only Lint/Void
https://github.com/rubygems/rubygems/commit/9d25906e44
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 048230ded3 [rubygems/rubygems] util/rubocop -A --only Lint/RequireParentheses
https://github.com/rubygems/rubygems/commit/ee6814afbc
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 0eef33e113 [rubygems/rubygems] util/rubocop -A --only Style/Next
https://github.com/rubygems/rubygems/commit/e5868e92f7
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA bec069b0ca [rubygems/rubygems] util/rubocop -A --only Style/MultilineMemoization
https://github.com/rubygems/rubygems/commit/c1f6e4a97b
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 8a364b8512 [rubygems/rubygems] util/rubocop -A --only Style/MultilineTernaryOperator
https://github.com/rubygems/rubygems/commit/be853dfe3b
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 5efadf8139 [rubygems/rubygems] util/rubocop -A --only Lint/ShadowingOuterLocalVariable
https://github.com/rubygems/rubygems/commit/82ed77178d
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 8260698e74 [rubygems/rubygems] util/rubocop -A --only Lint/UnreachableCode
https://github.com/rubygems/rubygems/commit/f06047f52a
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 01be518eba [rubygems/rubygems] util/rubocop -A --only Lint/UnderscorePrefixedVariableName
https://github.com/rubygems/rubygems/commit/6dc4bc3a5b
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA ec131071b9 [rubygems/rubygems] util/rubocop -A --only Lint/ReturnInVoidContext
https://github.com/rubygems/rubygems/commit/021823a331
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 1a60012612 [rubygems/rubygems] util/rubocop -A --only Lint/RescueException
https://github.com/rubygems/rubygems/commit/e8a5db50af
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 25ed2e7415 [rubygems/rubygems] util/rubocop -A --only Lint/EmptyExpression
Thread.report_on_exception is always defined after Ruby 2.4 or later.

https://github.com/rubygems/rubygems/commit/274da54f38
2023-03-23 17:18:49 +09:00
Hiroshi SHIBATA 7e3612585d [rubygems/rubygems] util/rubocop -A --only Lint/DuplicateCaseCondition
https://github.com/rubygems/rubygems/commit/df2b192e47
2023-03-23 17:18:49 +09:00
Nobuyoshi Nakada db7c38634e
core_assertions.rb: Raise `Timeout::Error` explicitly
So that `assert_raise` inside the block works.
2023-03-23 14:49:41 +09:00
Koichi Sasada 0112a5b342 `Array#first` and `Array#last` in Ruby 2023-03-23 14:03:12 +09:00
Koichi Sasada c9fd81b860 `vm_call_single_noarg_inline_builtin`
If the iseq only contains `opt_invokebuiltin_delegate_leave` insn and
the builtin-function (bf) is inline-able, the caller doesn't need to
build a method frame.

`vm_call_single_noarg_inline_builtin` is fast path for such cases.
2023-03-23 14:03:12 +09:00
Koichi Sasada e5a5e43c36 should not restore builtin_inline_index
`builtin_inline_index` is restored because THEN clause on
`Primitive.mandatory_only?` was compiled twice.

However, f29c9d6d36 skips to compile THEN clause so we don't
need to restore `builtin_inline_index`.
2023-03-23 14:03:12 +09:00
dependabot[bot] fee9044b25 Bump github/codeql-action from 2.2.7 to 2.2.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.7 to 2.2.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](168b99b3c2...67a35a0858)

---
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-23 12:44:07 +09:00
Peter Zhu 3210130993 Suppress a compiler warning on GCC in process.c
rb_pid_t is 32 bits on some platforms, which will cause a warning on GCC
due to POSFIXABLE always returning true.

    include/ruby/internal/arithmetic/fixnum.h:43:31: warning: comparison is always true due to limited range of data type [-Wtype-limits]
2023-03-22 17:25:18 -04:00
Nobuyoshi Nakada 348412c7fa [rubygems/rubygems] Use indented heredoc
https://github.com/rubygems/rubygems/commit/085d2776d8
2023-03-22 21:21:08 +00:00
Aaron Patterson 7c307e0379 Lazily allocate id tables for children
This patch lazily allocates id tables for shape children.  If a shape
has only one single child, it tags the child with a bit.  When we read
children, if the id table has the bit set, we know it's a single child.
If we need to add more children, then we create a new table and evacuate
the child to the new table.

Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>
2023-03-22 12:50:42 -07:00
Aaron Patterson 0519741702 pull child allocation in to a different function 2023-03-22 12:50:42 -07:00
Aaron Patterson 999ccb2b6b combine allocation functions 2023-03-22 12:50:42 -07:00
Aaron Patterson e055c0c716 Make shape functions static
These functions don't need to be in the header file, we can declare them
as static.
2023-03-22 12:50:42 -07:00
Aaron Patterson 1a9e2d20e2 Fix shape allocation limits
We can only allocate enough shapes to fit in the shape buffer.
MAX_SHAPE_ID was based on the theoretical maximum number of shapes we
could have, not on the amount of memory we can actually consume.  This
commit changes the MAX_SHAPE_ID to be based on the amount of memory
we're allowed to consume.

Co-Authored-By: Jemma Issroff <jemmaissroff@gmail.com>
2023-03-22 08:46:12 -07:00
Nobuyoshi Nakada e340eb2106
core_assertions.rb: Fix backward compatibility with pre 2.7 2023-03-22 23:07:26 +09:00
Nobuyoshi Nakada 27916db08c
[DOC] Update comment of assert_pattern_list
`pattern_list` may contain string since d903e76726.
2023-03-22 22:35:58 +09:00
Hiroshi SHIBATA aa5d195712 [rubygems/rubygems] @orig_RUBY_ENGINE is always provided now
https://github.com/rubygems/rubygems/commit/c5e8ad4823
2023-03-22 11:17:26 +00:00
Hiroshi SHIBATA 1697869500 [rubygems/rubygems] Fix test failure with missing RUBY_REVISION constants
https://github.com/rubygems/rubygems/commit/c5b80945c6
2023-03-22 11:17:26 +00:00
Hiroshi SHIBATA 3725850297 [rubygems/rubygems] ditto: RUBY_ENGINE_VERSION
https://github.com/rubygems/rubygems/commit/dc82ebeac6
2023-03-22 11:17:25 +00:00
Hiroshi SHIBATA 3dc4bc313f [rubygems/rubygems] RUBY_REVISION is also provided by supported platforms
https://github.com/rubygems/rubygems/commit/71a237aeec
2023-03-22 11:17:25 +00:00
Hiroshi SHIBATA ea1dcb3e23 [rubygems/rubygems] RUBY_DESCRIPTION is always provided by supported platforms
https://github.com/rubygems/rubygems/commit/8a7028bc7e
2023-03-22 11:17:24 +00:00
Hiroshi SHIBATA 92f78b0e0b [rubygems/rubygems] Fixup
https://github.com/rubygems/rubygems/pull/6486

https://github.com/rubygems/rubygems/commit/ad50221acf
2023-03-22 11:17:24 +00:00
Nobuyoshi Nakada 09bda4ceb5
core_assertions.rb: Refine `assert_linear_performance`
* Calculate each timeout from the ratio of each factor to the first
  factor.
2023-03-22 18:53:12 +09:00
Nobuyoshi Nakada 6cc8eb4daa
Should not reach end of non-void function 2023-03-22 18:53:11 +09:00
Hiroshi SHIBATA 8c00b130a4
Fixup 43d20596b8 2023-03-22 18:07:40 +09:00
Justin Searls 464a264cd4 [rubygems/rubygems] Remove reference to `pry` gem from generated `bin/console` file
This is just a suggestion, but since recent versions of Ruby have shipped with a `binding.irb` that provides almost all of the features that `pry` pioneered, it may be time to remove this suggestion in the name of simplicity and not confusing newer developers who aren't familiar with what to use.
2023-03-22 08:32:03 +00:00
Hiroshi SHIBATA 43d20596b8
Relax timeout limit for FreeBSD
* http://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20230322T063002Z.fail.html.gz
  * http://rubyci.s3.amazonaws.com/freebsd13/ruby-master/log/20230322T063002Z.fail.html.gz
2023-03-22 16:32:23 +09:00
Hiroshi SHIBATA 8d1109c03b
Added assertion values for Amazon Linux 2023 2023-03-22 16:10:06 +09:00
Takashi Kokubun cb45809454 RJIT: Update binding 2023-03-21 22:28:39 -07:00
Takashi Kokubun 7947920ee7 RJIT: Follow a recent CALLER_SETUP_ARG change 2023-03-21 22:12:43 -07:00
Takashi Kokubun 38946209a7 RJIT: Split has_rest_or_post exit reasons 2023-03-21 22:01:55 -07:00
dependabot[bot] 65a725633b [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.67 to 0.9.68.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.67...v0.9.68)

---
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-22 03:25:47 +00:00
Alan Wu 08eaf7c5fa
YJIT: Fix deadlock in tests due to pipe capacity
Previously, when there is enough stats that the child process fills up
the pipe capacity, the child process would block, with the parent
process waiting forever as no one is reading to clear up the pipe. The
test timed out in these situations.

Use a separate thread in the parent to read from the pipe to unblock the
child in these situation. EnvUtil also does this for handling stdout and
stderr.

I had the test suite deadlock on a Linux VM.
2023-03-21 18:16:33 -04:00
Alan Wu aa54082d70
YJIT: Fix large ISeq rejection (#7576)
We crashed in some edge cases due to the recent change to not compile
encoded iseqs that are larger than `u16::MAX`.

- Match the C signature of rb_yjit_constant_ic_update() and clamp down
  to `IseqIdx` size
- Return failure instead of panicking with `unwrap()` in codegen when
  the iseq is too large

Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Noah Gibbs <noah.gibbs@shopify.com>
2023-03-21 14:24:17 -04:00
Jimmy Miller 5de26bc031
YJIT: Fix incorrect exit in splat (#7575)
So by itself, this shouldn't have been a correctness issue, but we
also pop the stack for block_args. Doing stack manipulation like that
and then side-exiting causes issues. So, while this fixes the
immediate failure, we have a bigger issue with block_args popping and
then exiting that we need to deal with.
2023-03-21 12:57:26 -04:00
Nobuyoshi Nakada f62fa51283 [ruby/erb] [DOC] Use indented heredoc
https://github.com/ruby/erb/commit/8ba8bb7acf
2023-03-21 15:05:29 +00:00