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

81000 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 9eac9d7178
[Bug #19969] Compact st_table after deleted if possible 2023-11-11 18:49:19 +09:00
Nobuyoshi Nakada 2a442121d1
Stabilize outer variable list
Sort outer variables by names to make dumped binary data stable.
2023-11-11 16:58:14 +09:00
Nobuyoshi Nakada 1fe2bc4b22
RCLASS_EXT is never NULL now 2023-11-11 15:57:44 +09:00
Alan Wu 277a3ecbf5 [DOC] RubyVM::YJIT doc improvements
* Weaken notice about API stability. A few public APIs in here now.
* Prune out APIs from the docs that are private in nature
* Enable markdown mode and ensure `--` options are quoted so they are
  rendered as two dashes in the HTML.
2023-11-10 19:08:13 -05:00
Alan Wu cdaca574ce [DOC] NEWS.md update about code GC
See <https://github.com/ruby/ruby/pull/8865> and
50402db5a7
2023-11-10 19:08:05 -05:00
Alan Wu f5fa90fe0b YJIT: Fix `clippy::useless_vec` in a test 2023-11-10 16:55:56 -05:00
Alan Wu 8dfbfa15f6 YJIT: Take cargo --fix for unnecessary calls to into() 2023-11-10 16:55:56 -05:00
Alan Wu 408d5886cf YJIT: Auto fix for clippy::unnecessary_cast 2023-11-10 16:55:56 -05:00
Alan Wu 0a93ea4808 YJIT: Auto fix for clippy::clone_on_copy 2023-11-10 16:55:56 -05:00
Kevin Newton 85db7baccb [ruby/prism] Remove extra locals added by ...
https://github.com/ruby/prism/commit/b7850f2d30
2023-11-10 21:50:12 +00:00
Kevin Newton 98e5ea9431 [ruby/prism] Disallow forwarding in blocks
https://github.com/ruby/prism/commit/2bbd35943c
2023-11-10 21:50:11 +00:00
Mateus Pereira 03aa1092ad [ruby/prism] Add source code and changelog uris
https://github.com/ruby/prism/commit/33a85f7867
2023-11-10 21:49:27 +00:00
git 642b9c6987 Update default gems list at 8044feb7ab [ci skip] 2023-11-10 19:28:32 +00:00
ima1zumi 8044feb7ab [ruby/irb] Bump version to 1.9.0
(https://github.com/ruby/irb/pull/757)

https://github.com/ruby/irb/commit/41548b8bd0
2023-11-10 19:27:30 +00:00
Peter Zhu 7e6609e8f0 [ci skip] Fix indentation in rb_class_ivar_set 2023-11-10 12:43:06 -05:00
Burdette Lamar 82ce47415b [ruby/open3] [DOC] RDoc for Open3
(https://github.com/ruby/open3/pull/18)

https://github.com/ruby/open3/commit/9f3f5d004c
2023-11-10 17:15:06 +00:00
Alan Wu b8eb4bd4ce YJIT: Panic with more info when global invalidation patching fails 2023-11-10 11:51:05 -05:00
Alan Wu 38fe710e08 YJIT: Invoke PosMarker callbacks only with solid positions
Previously, PosMarker callbacks ran even when the assembler failed to
assemble its contents due to insufficient space. This was problematic
because when Assembler::compile() failed, the callbacks were given
positions that have no valid code, contrary to general expectation.

For example, we use a PosMarker callback to record VM instruction
boundaries and patch in jumps to exits in case the guest program starts
tracing, however, previously, we could record a location near the end of
the code block, where there is no space to patch in jumps. I suspect
this is the cause of the recent occurrences of rare random failures on
GitHub Actions with the invariants.rs:529 "can rewrite existing code"
message. `--yjit-perf` also uses PosMarker and had a similar issue.

Buffer the list of callbacks to fire, and only fire them when all code
in the assembler are written out successfully. It's more intuitive this
way.
2023-11-10 11:51:05 -05:00
Peter Zhu 5f3fb4f4e3 Revert "Remove SHAPE_CAPACITY_CHANGE shapes"
This reverts commit f6910a6112.

We're seeing crashes in the test suite of Shopify's core monolith after
this change.
2023-11-10 11:27:49 -05:00
Jean Boussier 3b69637eba Embed Backtrace objects
rb_backtrace_t is 32B, so it fits well in a 80B slot.

There is some unused spaces but given Backtrace objects are
rarely held onto it should be inconsequential and avoid
the malloc churn.

Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>
2023-11-10 15:56:42 +01:00
Jean Boussier a9f45aac6e rb_data_free: Fix freeing embedded TypedData
The previous implementation was using the pointer given
by `DATA_PTR` in all cases. But in the case of an embedded
TypedData, that pointer is garbage, we need to use RTYPEDDATA_GET_DATA
to get the proper data pointer.

Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>
2023-11-10 15:56:42 +01:00
Jean Boussier a2442e91fd Embed Backtrace::Location objects
The struct is 16B, so they will use the 80B size pool, so on paper it
wastes 80 - 32 - 16 = 52B, however most malloc implementations will
either pad sizes or use an extra 16B for each segment, so in practice
the waste isn't that big. Also `Backtrace::Location` are rarely held
on for long, so avoiding the malloc churn help performance.

Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>
2023-11-10 15:56:22 +01:00
Edwin Garcia 1ee6968855 YJIT: Fix comment typos [ci skip] 2023-11-10 09:47:56 -05:00
Jun Aruga 068bf59b33 .travis.yml: Run arm64 without allow_failiures.
Checking the past 10 builds in Travis CI arm64, it looks stable. So, disable
`allow_failures`.

Also sorted the order of the jobs for the priority. The arm64 is the first. And
I would like to run arm32 using the arm64 pipeline a bit later after the
arm64 using the same arm64 pipeline. So, the arm32 is the last.
2023-11-10 13:30:53 +01:00
git b1f345b1e8 Update default gems list at cdd6127c82 [ci skip] 2023-11-10 10:02:55 +00:00
Nobuyoshi Nakada cdd6127c82 [ruby/io-console] bump up to 0.6.1.dev.1
https://github.com/ruby/io-console/commit/057ab96a73
2023-11-10 19:00:50 +09:00
Nobuyoshi Nakada 83064592a6 [ruby/io-console] Include FFI version version.rb
https://github.com/ruby/io-console/commit/b0c688c57e
2023-11-10 19:00:48 +09:00
Nobuyoshi Nakada f08400a07a [ruby/io-console] Define IO::ConsoleMode::VERSION from gemspec
https://github.com/ruby/io-console/commit/ebdbebf461
2023-11-10 19:00:46 +09:00
Nobuyoshi Nakada 5309e3c406 [ruby/io-console] Update file list in gemspec
https://github.com/ruby/io-console/commit/0bfde8372c
2023-11-10 19:00:45 +09:00
Koichi Sasada c2a8141634 NEWS entry for M:N thread scheduler. 2023-11-08 16:17:43 +09:00
Koichi Sasada 7c731b5f79 NEWS entry for new TracePoint event `rescue` 2023-11-08 15:19:16 +09:00
Hiroshi SHIBATA 5398bbcbab
Tests of irb is still broken.
Revert "[ruby/irb] Revert "Skip TypeCompletion test in ruby ci"

  This reverts commit 589e2b6782.
2023-11-10 08:29:55 +09:00
Hiroshi SHIBATA 589e2b6782 [ruby/irb] Revert "Skip TypeCompletion test in ruby ci
(https://github.com/ruby/irb/pull/748)"
(https://github.com/ruby/irb/pull/755)

This reverts commit https://github.com/ruby/irb/commit/d394af0bbce4.

https://github.com/ruby/irb/commit/a9d0145115
2023-11-10 07:56:07 +09:00
Juanjo Bazán 293aced091 Update checkout 2023-11-10 07:53:26 +09:00
Hiroya Fujinami c49adfab5d
Add "Optimization" section to regexp.rdoc (#8849)
* Add "Optimization" section to regexp.rdoc

* Apply the suggestions by @BurdetteLamar

---------

Co-authored-by: Burdette Lamar <BurdetteLamar@Yahoo.com>
2023-11-10 01:24:15 +09:00
Nobuyoshi Nakada ad3db6711c
Update files under .github other than workflows
While `directory: "/"` is defaulted to ".github/workflows", we need to
update the files under ".github/actions".
2023-11-09 23:27:55 +09:00
Peter Zhu f6910a6112 Remove SHAPE_CAPACITY_CHANGE shapes
We don't need to create a shape to transition capacity as we can
transition the capacity when the capacity of the SHAPE_IVAR changes.
2023-11-09 09:25:02 -05:00
tomoya ishida c4efd17061 [ruby/irb] Add command line option to select which completor to use
(https://github.com/ruby/irb/pull/754)

* Add command line option to select which completor to use

* Add test for completor argv

https://github.com/ruby/irb/commit/1dec2708c9
2023-11-09 13:15:26 +00:00
Jemma Issroff ae1fad4cd7 [PRISM] Implement compilation for ForwardingArgumentssNode 2023-11-09 09:45:59 -03:00
Jean Boussier ea1b1ea1aa String#force_encoding don't clear coderange if encoding is unchanged
Some code out there blind calls `force_encoding` without checking
what the original encoding was, which clears the coderange uselessly.

If the String is big, it can be a rather costly mistake.

For instance the `rack-utf8_sanitizer` gem does this on request
bodies.
2023-11-09 12:38:10 +01:00
Jun Aruga 0a7e620a36 .travis.yml: Add arm64 case.
In the past, I saw that the 2nd arm64 pipeline was unstable. Now I want to try
it to check if it is stable enough to run again.

As far as I know, right now the only native arm64 cases are MacOS Arm
`macos-arm-oss` on GitHub Actions. And I want to add Linux arm64 case on
pull-request in CI.
2023-11-09 12:03:02 +01:00
Jean Boussier b013aae0c6 IO#read always check the provided buffer is mutable
Otherwise you can have work in some circumstance but not in others.
2023-11-09 11:45:02 +01:00
Nobuyoshi Nakada 0f02fbd9ff Range check in pm_constant_id_lookup 2023-11-09 18:21:45 +09:00
Nobuyoshi Nakada e824b69a86 Remove useless casts 2023-11-09 18:21:45 +09:00
TSUYUSATO Kitsune fae44d6524 [ruby/prism] Reset do_loop_stack around a body of a endless method definition
Fix https://github.com/ruby/prism/pull/1772

https://github.com/ruby/prism/commit/cdf58e845e
2023-11-09 08:37:20 +00:00
Nobuyoshi Nakada b73e087dbc
[DOC] Fix typos 2023-11-09 16:37:03 +09:00
Nobuyoshi Nakada 195a09cc7f [ruby/digest] Suppress implicit cast down warnings
https://github.com/ruby/digest/commit/2f3505bf3f
2023-11-09 07:20:00 +00:00
Nobuyoshi Nakada 7e8d9f49b3 [Bug #18286] Show checksum of builtin_binary.inc for confirmation 2023-11-09 16:01:01 +09:00
Nobuyoshi Nakada 22939382a8 [Bug #18286] Make builtin binary if sharable in universal binaries 2023-11-09 16:01:01 +09:00
Nobuyoshi Nakada e2ef85b109 Finer granularity IBF dependendency
It depends on only `VALUE` definition.  Check for endianness and word
size instead of the platform name.
2023-11-09 16:01:01 +09:00