aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate Kernel#open and IO support for subprocess creation/forkingMike Dalessio2023-08-1010-180/+165
| | | | | | | | | | | | | | | | | Deprecate Kernel#open and IO support for subprocess creation and forking. This deprecates subprocess creation and forking in - Kernel#open - URI.open - IO.binread - IO.foreach - IO.readlines - IO.read - IO.write This behavior is slated to be removed in Ruby 4.0 [Feature #19630]
* [ruby/irb] Skip nested IRB tests in Ruby Core CIStan Lo2023-08-091-0/+8
| | | | | | | | | | (https://github.com/ruby/irb/pull/675) Sometimes the subprocess gets stuck in the nested IRB session until timed out. We don't have enough information to debug it yet, so skip the tests to unblock CI. https://github.com/ruby/irb/commit/606f18c80c
* YJIT: Chain guard method IDs for respond_to? (#8196)Takashi Kokubun2023-08-092-3/+11
|
* YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock (#8194)Takashi Kokubun2023-08-093-26/+42
| | | | | YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock
* Fix memory leak for incomplete lambdasPeter Zhu2023-08-092-10/+21
| | | | | | | | | | | | | | | | | | | [Bug #19836] The parser does not free the chain of `struct vtable`, which causes memory leaks. The following script reproduces this issue: ``` 10.times do 100_000.times do Ripper.parse("-> {") end puts `ps -o rss= -p #{$$}` end ```
* Fix memory leak in parser for incomplete tokensPeter Zhu2023-08-092-14/+35
| | | | | | | | | | | | | | | | | | | [Bug #19835] The parser does not free the `tbl` of the `struct vtable` when there are leftover `lvtbl` in the parser. This causes a memory leak. The following script reproduces this issue: ``` 10.times do 100_000.times do Ripper.parse("class Foo") end puts `ps -o rss= -p #{$$}` end ```
* YJIT: Count throw instructions for each tag (#8188)Takashi Kokubun2023-08-095-0/+34
| | | | | * YJIT: Count throw instructions for each tag * Show % of each throw type
* YJIT: implement imul instruction encoding in x86 assembler (#8191)Maxime Chevalier-Boisvert2023-08-092-0/+34
|
* Implement MUL instruction for aarch64 (#8193)Kevin Newton2023-08-093-0/+94
|
* [ruby/irb] Fix nested IRB sessions' history savingStan Lo2023-08-095-23/+101
| | | | | | | | | | | | | | | | (https://github.com/ruby/irb/pull/652) 1. Dynamically including `HistorySavingAbility` makes things unnecessarily complicated and should be avoided. 2. Because both `Reline` and `Readline` use a single `HISTORY` constant to store history data. When nesting IRB sessions, only the first IRB session should handle history loading and saving so we can avoid duplicating history. 3. History saving callback should NOT be stored in `IRB.conf` as it's recreated every time `IRB.setup` is called, which would happen when nesting IRB sessions. https://github.com/ruby/irb/commit/0fef0ae160
* YJIT: Count all opt_getconstant_path exit reasons (#8187)Takashi Kokubun2023-08-093-3/+7
|
* YJIT: Correct name of a counter (#8186)Alan Wu2023-08-092-4/+4
|
* Prevent a warning: global variable `$VERSION' not initializedYusuke Endoh2023-08-091-0/+3
|
* Prevent warnings: assigned but unused variableYusuke Endoh2023-08-091-2/+2
|
* Skip running brew upgrade (#8189)Takashi Kokubun2023-08-081-1/+0
| | | | | | | This has been unstable: https://github.com/ruby/ruby/actions/runs/5797755676/job/15713988590 and I'm not sure if we need that in the first place, assuming the OS image itself is maintained by GitHub.
* YJIT: Compile exception handlers (#8171)Takashi Kokubun2023-08-0816-85/+274
| | | Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
* Remove wrapper functions of RVALUE_REMEMBEREDPeter Zhu2023-08-081-30/+6
| | | | | | | Functions rgengc_remembered, rgengc_remembered_sweep, and rgengc_remembersetbits_get are just wrappers of RVALUE_REMEMBERED and doesn't do much more. We can remove all those and use RVALUE_REMEMBERED directly instead.
* [ruby/yarp] Fix wrong conversion and castNobuyoshi Nakada2023-08-081-1/+11
| | | | | | Conversions from `uint64_t`/`VALUE` to `long` may loose upper bits. https://github.com/ruby/yarp/commit/c26f650d96
* [ruby/yarp] Adjust indents [ci skip]Nobuyoshi Nakada2023-08-081-9/+9
| | | | https://github.com/ruby/yarp/commit/2d1135769d
* [Bug #19833] Fix index underflow at superclasses of `BasicObject`Nobuyoshi Nakada2023-08-082-0/+11
|
* Add message for `--ruby` option [ci skip]Nobuyoshi Nakada2023-08-081-1/+2
|
* Share duplicate code between Wasm and the othersNobuyoshi Nakada2023-08-081-63/+49
|
* Simplify try-rescue loopNobuyoshi Nakada2023-08-081-8/+3
|
* Remove unnecessary braces which make indents confusingNobuyoshi Nakada2023-08-081-8/+4
|
* Do not double "yp_" prefix [ci skip]Nobuyoshi Nakada2023-08-081-0/+1
|
* [rubygems/rubygems] Bump rb-sysdependabot[bot]2023-08-072-15/+15
| | | | | | | | | | | | | | | | | Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.79 to 0.9.81. - [Release notes](https://github.com/oxidize-rb/rb-sys/releases) - [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.79...v0.9.81) --- updated-dependencies: - dependency-name: rb-sys dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> https://github.com/rubygems/rubygems/commit/4c9f8269f6
* [rubygems/rubygems] Bump rb-sysdependabot[bot]2023-08-072-15/+15
| | | | | | | | | | | | | | | | | Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.79 to 0.9.81. - [Release notes](https://github.com/oxidize-rb/rb-sys/releases) - [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.79...v0.9.81) --- updated-dependencies: - dependency-name: rb-sys dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> https://github.com/rubygems/rubygems/commit/d3237ab4e2
* [ruby/irb] Remove unused `InputMethod#initialize`Stan Lo2023-08-072-16/+0
| | | | | | | | | | | | | | | | | (https://github.com/ruby/irb/pull/635) * Remove unused InputMethod#initialize The constructor takes a `file_name` argument, but it is never used. The only input method that needs a file is `FileInputMethod`, which has its own constructor to take a file object directly. So the constructor in `InputMethod` is not needed and its child classes don't need to call `super` in their constructors. * Remove unused FileInputMethod#file_name https://github.com/ruby/irb/commit/153b1e9d1c
* [DOC] RDoc for Process (#8179)Burdette Lamar2023-08-071-60/+157
|
* Add hints of tag jumps for optimizationNobuyoshi Nakada2023-08-071-1/+3
| | | | | | Just as the state was originally passed as the return value of `longjmp`, the state stored in EC cannot be 0 when the jump is captured now too.
* Turn `jit_exec` and `jit_compile` into macros if disabledNobuyoshi Nakada2023-08-061-2/+2
|
* Move `GC_CAN_COMPILE_COMPACTION` definition before usedNobuyoshi Nakada2023-08-061-7/+13
|
* Exclude files added to the toplevelNobuyoshi Nakada2023-08-062-6/+59
|
* Remove unnecessarily copied document [ci skip]Nobuyoshi Nakada2023-08-061-85/+0
|
* [ruby/yarp] Add a Requirements section in Build System docsBenoit Daloze2023-08-051-0/+11
| | | | https://github.com/ruby/yarp/commit/298025314c
* [ruby/yarp] Small fixes to docs/build_system.mdBenoit Daloze2023-08-051-1/+1
| | | | | | https://github.com/ruby/yarp/commit/f9db0c282b Co-authored-by: Mike Dalessio <mike.dalessio@gmail.com>
* [ruby/yarp] Clarify shared libraryBenoit Daloze2023-08-051-1/+1
| | | | | | https://github.com/ruby/yarp/commit/0b174b76f1 Co-authored-by: Mike Dalessio <mike.dalessio@gmail.com>
* [ruby/yarp] Document the build system of YARPBenoit Daloze2023-08-052-0/+75
| | | | https://github.com/ruby/yarp/commit/85ae0e2816
* Fix `Gem::BUNDLED_GEMS.find_gem` return valueNobuyoshi Nakada2023-08-051-1/+1
| | | | | | If the required name is different from the found gem name, return the gem name, instead of true that means the required name is an exact gem name.
* Just suppress a warning for non-Emscripten Wasm buildTakashi Kokubun2023-08-041-4/+2
| | | | | | | | | | Revert "Revert "Skip calling jit_exec on Wasm"" This reverts commit 2e94610f70baca4af004202f288a6b5dd10889ca. It's not about whether it's optimized away or not. I just don't want to leave and maintain the callsite (e.g. signature) in the path where YJIT is never built.
* Revert "Skip calling jit_exec on Wasm"Nobuyoshi Nakada2023-08-051-1/+3
| | | | | | | | This reverts commit e80752f9bbc5228dba3066cd95a81e2e496bd9d7. RJIT and YJIT are never enabled on Wasm. When both are disabled, `jit_exec` is defined to return `Qundef` constantly, and is optimized away.
* Remove uneeded int2big property for Universal ParserS-H-GAMELINKS2023-08-053-3/+0
|
* Lrama v0.5.3yui-knk2023-08-0529-561/+774
|
* Skip calling jit_exec on WasmTakashi Kokubun2023-08-041-3/+1
| | | | | | | | We often break Wasm build when we modify how jit_exec works. I'm planning to modify it again soon. We actually don't support running Ruby JIT on Wasm, so it doesn't seem worth the maintenance effort.
* YJIT: expand bitwise shift support in x86 assembler (#8174)Maxime Chevalier-Boisvert2023-08-042-15/+26
|
* [ruby/irb] Store integration tests' envs in an ivarStan Lo2023-08-042-11/+7
| | | | | | (https://github.com/ruby/irb/pull/668) https://github.com/ruby/irb/commit/bbd20445ea
* YJIT: guard for array_len >= num in expandarray (#8169)Maxime Chevalier-Boisvert2023-08-043-14/+16
| | | Avoid generating long dispatch chains for all array lengths seen.
* Revert "Tests to move between size pools are flaky on Windows too"Peter Zhu2023-08-041-6/+2
| | | | This reverts commit c5abe0d08f8f7686422e6eef374cf8c78aefacb6.
* Don't check stack for moved after compactionPeter Zhu2023-08-041-44/+0
| | | | | | | | | | | | We don't need to check stack for moved objects after compaction because the mutator cannot run between marking the stack and the end of compaction. However, the stack may have moved objects leftover from marking and sweeping phases. This means that their pages will be invalidated and all objects moved back. We don't need to move these objects back. This also fixes the issue on Windows where some compaction tests sometimes fail due to the page of the object being invalidated.
* Display call location with bundled gems warningHiroshi SHIBATA2023-08-041-1/+1
|