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

76195 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada dd28c55a7c
[Bug#19445] Fix keyword splat in enumerator
Extracted arguments do not have keyword hash to splat.
2023-02-17 10:57:22 +09:00
Alan Wu a4b7ec1229 YJIT: Fix false assumption that String#+@ => ::String
Could return a subclass.

[Bug #19444]
2023-02-16 18:50:42 -05:00
Alan Wu c178926fbe YJIT: jit_prepare_routine_call() for String#+@ missing
We saw SEGVs due to this when running with StackProf, which needs a
correct PC for RUBY_INTERNAL_EVENT_NEWOBJ, the same event used for
ObjectSpace allocation tracing.

[Bug #19444]
2023-02-16 18:50:42 -05:00
Burdette Lamar a49bc73e1f [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP
(https://github.com/ruby/net-http/pull/122)

https://github.com/ruby/net-http/commit/06f79cda87
2023-02-16 21:52:10 +00:00
Takashi Kokubun 21f9c92c71
YJIT: Show Context stats on exit (#7327) 2023-02-16 11:32:13 -08:00
Takashi Kokubun 8f22dc39f3
YJIT: Refactor getlocal and setlocal insns (#7320) 2023-02-16 11:29:45 -05:00
Jimmy Miller b4c38f3c59
YJIT: Initial support for rest args (#7311)
* YJIT: Initial support for rest args

* Update yjit/src/codegen.rs

---------

Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
2023-02-16 11:25:48 -05:00
Nobuyoshi Nakada 21543ac86c
Fix compilation error when USE_RINCGC=0 2023-02-16 22:15:54 +09:00
Jean Boussier 1a4b4cd7f8 Move `attached_object` into `rb_classext_struct`
Given that signleton classes don't have an allocator,
we can re-use these bytes to store the attached object
in `rb_classext_struct` without making it larger.
2023-02-16 08:14:44 +01:00
dependabot[bot] 1df75d6586 Bump actions/cache from 3.2.4 to 3.2.5
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](627f0f41f6...6998d139dd)

---
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-16 11:40:58 +09:00
dependabot[bot] 0116650525 Bump github/codeql-action from 2.2.1 to 2.2.4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.1 to 2.2.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](3ebbd71c74...17573ee1cc)

---
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-02-16 11:40:45 +09:00
dependabot[bot] 9aa0f656cb Bump ruby/setup-ruby from 1.134.0 to 1.138.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.134.0 to 1.138.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](ee26e27437...d3c9825d67)

---
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-16 11:39:03 +09:00
Hiroshi SHIBATA 7e5df49539
check-regexp only works with job name, not workflow name 2023-02-16 11:00:45 +09:00
Hiroshi SHIBATA f736f50f38
Auto-merge feature for dependabot PRs (#7300)
* Automerge for dependabot update

* change update period with daily, we can merge it automatically when `make check` of Ubuntu was passed

* Use rebase instead of merge commit

* check all Ubuntu jobs
2023-02-16 10:16:58 +09:00
git 2573730658 Update default gems list at 65b6411e9d [ci skip] 2023-02-16 00:58:12 +00:00
Hiroshi SHIBATA 65b6411e9d [ruby/timeout] bump up 0.3.2
https://github.com/ruby/timeout/commit/e1b2448101
2023-02-16 00:57:08 +00:00
Haldun Bayhantopcu b03b251aa4 Handle all non-object type objects 2023-02-15 15:43:46 -08:00
Haldun Bayhantopcu 0b4b2cd1ee Fix removing ivars from clases and modules.
Co-authored-by: Adam Hess <hparker@github.com>
2023-02-15 15:43:46 -08:00
Benoit Daloze 70d84a5f3d [ruby/timeout] Simplify test
https://github.com/ruby/timeout/commit/db017da726
2023-02-15 19:25:05 +00:00
Rick Blommers 610375edfc [ruby/timeout] Don't move the timer_thread when it's enclosed
Don't move the timer_thread to ThreadGroup::Default, when it's
created in an enclosed ThreadGroup.
Prevents the exception: "add" can't move from the enclosed thread group"

https://github.com/ruby/timeout/commit/eb889d2c8b
2023-02-15 19:25:05 +00:00
Jimmy Miller 8943b0d411
YJIT: `Kernel#{is_a?,instance_of?}` fast paths (GH-7297)
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
2023-02-15 14:05:42 -05:00
Aaron Patterson ae2340c9d7 Refactor / document instance variable debug counters
This commit is refactoring and documenting the debug counters related to
instance variables.
2023-02-15 08:47:26 -08:00
Burdette Lamar 847a0df058 [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP#get
(https://github.com/ruby/net-http/pull/121)

https://github.com/ruby/net-http/commit/51b9af1eed
2023-02-15 15:00:34 +00:00
HASUMI Hitoshi 3a9d52466a [ruby/irb] Fix help-message (https://github.com/ruby/irb/pull/506)
https://github.com/ruby/irb/commit/a55ace0791
2023-02-15 14:53:33 +00:00
Jean Boussier 7413079dae Encapsulate RCLASS_ATTACHED_OBJECT
Right now the attached object is stored as an instance variable
and all the call sites that either get or set it have to know how it's
stored.

It's preferable to hide this implementation detail behind accessors
so that it is easier to change how it's stored.
2023-02-15 15:24:22 +01:00
Jean Boussier bac4d2eefa Check !RCLASS_EXT_EMBEDDED instead of SIZE_POOL_COUNT == 1
It's much more self documenting and consistent
2023-02-15 10:47:22 +01:00
Koichi Sasada 1f936d654a `ractor_queue_enq/deq` doesn't need `rq` param
`rq` is always `r`'s queue.
2023-02-15 15:42:51 +09:00
Nobuyoshi Nakada 413120e581
Do not use `objcopy` on macOS
On macOS, it is not used to localize symbols in dynamic libraries
(libruby.dylib and libyjit.o).  Instead, using `objcopy` which does
not support recent mach-O causes linker errors as bellow.

```
linking shared-library libruby.3.3.dylib
error: cannot parse the debug map for 'libruby.3.3.dylib': Invalid data was encountered while parsing the file
linking ruby
ld: malformed mach-o: LC_*_DYLIB load command string extends beyond end of load command file './libruby.3.3.dylib'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
2023-02-15 13:45:26 +09:00
TJ fba8f7783b
[DOC] remove redundant paragraph at set.rb (#6472)
remove redundant paragraph at set.rb
2023-02-15 12:46:16 +09:00
Kouhei Yanagita 619af4fd64
[DOC] Add an example of the splat operator with a non-array object (#7098) 2023-02-15 12:43:55 +09:00
Thomas R. Koll f03dd4ee77
Refactor dir.rb sample (#6977) [ci skip]
* Refactor dir.rb sample

The original (1998) sample with a for-loop and use of case/when isn't what we'd write nowadays

* [DOC] Update sample/dir.rb [ci skip]

Do not leave a `Dir` opened.

* [DOC] Update sample/dir.rb [ci skip]

Fix ArgumentError.

---------

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2023-02-15 12:41:53 +09:00
Eric Wong 3376eca80a file.c: rb_file_load_ok: GC+retry on EMFILE/ENFILE/ENOMEM
`require' should make a best effort to avoid failure on
recoverable resource exhaustion errors.
2023-02-15 03:26:47 +00:00
Takashi Kokubun 15ef2b2d7c
YJIT: Optimize != for Integers and Strings (#7301) 2023-02-14 16:31:33 -05:00
Takashi Kokubun 6c5582815d
YJIT: Check correct BOP on gen_fixnum_cmp (#7303) 2023-02-14 12:54:50 -08:00
Burdette Lamar 3c7d5ccdce [ruby/net-http] [DOC] Enhanced RDoc for request headers
(https://github.com/ruby/net-http/pull/120)

https://github.com/ruby/net-http/commit/b4eb8a7932
2023-02-14 20:33:11 +00:00
Takashi Kokubun f4b0e8dc61
YJIT: Pad more spaces to accommodate delimiters (#7302) 2023-02-14 11:58:34 -08:00
Takashi Kokubun 55af69b15e
YJIT: Don't side-exit on too-complex shapes (#7298) 2023-02-14 12:12:48 -05:00
dependabot[bot] e5e506095c [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.61 to 0.9.64.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.61...v0.9.64)

---
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-02-14 13:59:32 +00:00
Nobuyoshi Nakada 538c3b9ab7
Suppress -Wunused-but-set-variable warning 2023-02-14 19:26:41 +09:00
Nobuyoshi Nakada ef9efcf0bf
Check if objcopy works to localize symbol
LLVM objcopy does not support localizing symbols option, e.g,
`--localize-symbol` and `--keep-global-symbol`, for MachO.
2023-02-14 18:47:29 +09:00
Nobuyoshi Nakada 2490b2e121 Add utility macros `DECIMAL_SIZE_OF` and `DECIMAL_SIZE_OF_BYTES` 2023-02-14 15:18:21 +09:00
Nobuyoshi Nakada 45f0e3a673
[Bug #19259] `Data#with` should call `initialize` method 2023-02-14 12:02:07 +09:00
Takashi Kokubun dbe5b0dcff YJIT: Fix a typo in a counter name
I added `invokeblock_iseq_arg0_args_splat` counter but it wasn't used
because of a typo.

Related to https://github.com/ruby/ruby/pull/7234
2023-02-13 16:58:46 -08:00
Alan Wu 86de48e9f6 Remove ibf_dumper's WB_PROTECTED status
It doesn't have the right write barriers in place. For example, there is

    rb_mark_set(dump->global_buffer.obj_table);

in the mark function, but there is no corresponding write barrier when
adding to the table in the
`ibf_dump_object() -> ibf_table_find_or_insert() -> st_insert()` code path.

To insert write barrier correctly, we need to store the T_STRUCT VALUE
inside `struct ibf_dump`. Instead of doing that, let's just demote it
to WB unproected for correctness. These dumper object are ephemeral so
there is not a huge benefit for having them WB protected.

Users of the bootsnap gem ran into crashes due to this issue:
https://github.com/Shopify/bootsnap/issues/436

Fixes [Bug #19419]
2023-02-13 11:42:58 -05:00
Jean Boussier 7ddcee5928 Marshal.load: also freeze extended objects
[Bug #19427]

The `proc` wouldn't be called either, that fixes both.
2023-02-13 17:08:21 +01:00
BurdetteLamar bc6e587e86 [ruby/net-http] Enhanced RDoc for Compression
https://github.com/ruby/net-http/commit/cff88acd70
2023-02-13 13:04:33 +00:00
Nobuyoshi Nakada 9821f6d0e5
Override release date in Makefile if possible 2023-02-13 15:12:54 +09:00
Nobuyoshi Nakada 849087ccb1
Apply zone offset to the last modified time 2023-02-13 15:12:14 +09:00
tomoya ishida f313514563 [ruby/irb] Fix colorize backtick symbol
(https://github.com/ruby/irb/pull/508)

https://github.com/ruby/irb/commit/dd7f25cd45

Co-authored-by: Stan Lo <stan001212@gmail.com>
2023-02-12 20:27:32 +00:00
Takashi Kokubun 6517d1a188
[DOC] Move old ChangeLog files to doc/ChangeLog (#7293) 2023-02-10 16:57:56 -08:00