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

78961 Коммитов

Автор SHA1 Сообщение Дата
Takashi Kokubun 6acfc50bcc
YJIT: Count all opt_getconstant_path exit reasons (#8187) 2023-08-09 09:54:24 -04:00
Alan Wu 5eef3ce21f
YJIT: Correct name of a counter (#8186) 2023-08-09 09:47:42 -04:00
Yusuke Endoh 86f4415fb8 Prevent a warning: global variable `$VERSION' not initialized 2023-08-09 15:35:16 +09:00
Yusuke Endoh 48c3b08672 Prevent warnings: assigned but unused variable 2023-08-09 15:34:45 +09:00
Takashi Kokubun 1b0da1e623
Skip running brew upgrade (#8189)
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.
2023-08-08 16:46:12 -07:00
Takashi Kokubun cd8d20cd1f
YJIT: Compile exception handlers (#8171)
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
2023-08-08 16:06:22 -07:00
Peter Zhu 74b9c7d207 Remove wrapper functions of RVALUE_REMEMBERED
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.
2023-08-08 09:44:13 -04:00
Nobuyoshi Nakada 397a77557c [ruby/yarp] Fix wrong conversion and cast
Conversions from `uint64_t`/`VALUE` to `long` may loose upper bits.

https://github.com/ruby/yarp/commit/c26f650d96
2023-08-08 13:21:39 +00:00
Nobuyoshi Nakada d931bf2232 [ruby/yarp] Adjust indents [ci skip]
https://github.com/ruby/yarp/commit/2d1135769d
2023-08-08 13:21:38 +00:00
Nobuyoshi Nakada 72d1a790cf
[Bug #19833] Fix index underflow at superclasses of `BasicObject` 2023-08-08 19:03:38 +09:00
Nobuyoshi Nakada 69292676a2
Add message for `--ruby` option [ci skip] 2023-08-08 09:21:45 +09:00
Nobuyoshi Nakada 694d99dda2
Share duplicate code between Wasm and the others 2023-08-08 08:48:53 +09:00
Nobuyoshi Nakada 1a83474ded
Simplify try-rescue loop 2023-08-08 08:34:53 +09:00
Nobuyoshi Nakada 89dbca894f
Remove unnecessary braces which make indents confusing 2023-08-08 08:34:53 +09:00
Nobuyoshi Nakada 0e5da05a32
Do not double "yp_" prefix [ci skip] 2023-08-08 08:09:02 +09:00
dependabot[bot] a5ffcfbd8a [rubygems/rubygems] Bump rb-sys
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
2023-08-07 18:44:48 +00:00
dependabot[bot] 33056c2935 [rubygems/rubygems] Bump rb-sys
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
2023-08-07 17:12:27 +00:00
Stan Lo 0387b86c3a [ruby/irb] Remove unused `InputMethod#initialize`
(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
2023-08-07 15:30:13 +00:00
Burdette Lamar 589c01c411
[DOC] RDoc for Process (#8179) 2023-08-07 09:51:03 -04:00
Nobuyoshi Nakada 11f33ba620
Add hints of tag jumps for optimization
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.
2023-08-07 10:32:47 +09:00
Nobuyoshi Nakada ef5b1d19c1
Turn `jit_exec` and `jit_compile` into macros if disabled 2023-08-06 18:45:40 +09:00
Nobuyoshi Nakada acd27e3ec3
Move `GC_CAN_COMPILE_COMPACTION` definition before used 2023-08-06 18:45:40 +09:00
Nobuyoshi Nakada 3651f985f0
Exclude files added to the toplevel 2023-08-06 09:26:20 +09:00
Nobuyoshi Nakada af13b03817
Remove unnecessarily copied document [ci skip] 2023-08-06 07:40:01 +09:00
Benoit Daloze ac07d88197 [ruby/yarp] Add a Requirements section in Build System docs
https://github.com/ruby/yarp/commit/298025314c
2023-08-05 17:30:36 +00:00
Benoit Daloze 489120f18b [ruby/yarp] Small fixes to docs/build_system.md
https://github.com/ruby/yarp/commit/f9db0c282b

Co-authored-by: Mike Dalessio <mike.dalessio@gmail.com>
2023-08-05 17:30:35 +00:00
Benoit Daloze 11f10bb1ac [ruby/yarp] Clarify shared library
https://github.com/ruby/yarp/commit/0b174b76f1

Co-authored-by: Mike Dalessio <mike.dalessio@gmail.com>
2023-08-05 17:30:35 +00:00
Benoit Daloze 70ef66f240 [ruby/yarp] Document the build system of YARP
https://github.com/ruby/yarp/commit/85ae0e2816
2023-08-05 17:30:34 +00:00
Nobuyoshi Nakada 4e6861d337 Fix `Gem::BUNDLED_GEMS.find_gem` return value
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.
2023-08-05 18:56:37 +09:00
Takashi Kokubun e176f84138 Just suppress a warning for non-Emscripten Wasm build
Revert "Revert "Skip calling jit_exec on Wasm""

This reverts commit 2e94610f70.

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.
2023-08-04 20:50:46 -07:00
Nobuyoshi Nakada 2e94610f70 Revert "Skip calling jit_exec on Wasm"
This reverts commit e80752f9bb.

RJIT and YJIT are never enabled on Wasm.  When both are disabled,
`jit_exec` is defined to return `Qundef` constantly, and is optimized
away.
2023-08-05 12:12:42 +09:00
S-H-GAMELINKS 4e7e972841 Remove uneeded int2big property for Universal Parser 2023-08-05 11:39:38 +09:00
yui-knk f07ef1d54c Lrama v0.5.3 2023-08-05 10:32:41 +09:00
Takashi Kokubun e80752f9bb Skip calling jit_exec on Wasm
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.
2023-08-04 15:39:02 -07:00
Maxime Chevalier-Boisvert 8d7861e3da
YJIT: expand bitwise shift support in x86 assembler (#8174) 2023-08-04 14:57:56 -04:00
Stan Lo c4066af35e [ruby/irb] Store integration tests' envs in an ivar
(https://github.com/ruby/irb/pull/668)

https://github.com/ruby/irb/commit/bbd20445ea
2023-08-04 17:13:55 +00:00
Maxime Chevalier-Boisvert fc0b2a8df2
YJIT: guard for array_len >= num in expandarray (#8169)
Avoid generating long dispatch chains for all array lengths seen.
2023-08-04 10:09:43 -04:00
Peter Zhu 61b76e74af Revert "Tests to move between size pools are flaky on Windows too"
This reverts commit c5abe0d08f.
2023-08-04 09:13:57 -04:00
Peter Zhu 4b45b2764b Don't check stack for moved after compaction
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.
2023-08-04 09:13:57 -04:00
Hiroshi SHIBATA 6b570ff2c0 Display call location with bundled gems warning 2023-08-04 21:12:09 +09:00
Hiroshi SHIBATA ae8fd392d5 Fixed worng key of bundled_gems list 2023-08-04 21:12:09 +09:00
Hiroshi SHIBATA a0b695b4e6 Also decorate warning message with future tense for bundler 2023-08-04 21:12:09 +09:00
Hiroshi SHIBATA ede3c5ee0f Use future tense if current version is older than list version 2023-08-04 21:12:09 +09:00
Nobuyoshi Nakada 48f0352280 Fetch the last element only when not empty
Also `flag_keyword_hash` sets to 0 or a hash object.
2023-08-04 20:59:46 +09:00
Stan Lo 0dc0c24cad [ruby/irb] Fix IntegrationTestCase
(https://github.com/ruby/irb/pull/667)

https://github.com/ruby/irb/commit/79fc6dcf5f
2023-08-04 11:16:04 +00:00
Maxime Chevalier-Boisvert 4f99240b2e
YJIT: add jb (unsigned less-than) instruction to backend (#8168) 2023-08-03 16:14:44 -04:00
Maxime Chevalier-Boisvert 98b4256aa7
YJIT: handle expandarray_rhs_too_small case (#8161)
* YJIT: handle expandarray_rhs_too_small case

YJIT: fix csel bug in x86 backend, add test

Remove commented out lines

Refactor expandarray to use chain guards

Propagate Type::Nil when known

Update yjit/src/codegen.rs

Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

* Add missing counter, use get_array_ptr() in expandarray

* Make change suggested by Kokubun to reuse loop

---------

Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
2023-08-03 16:09:18 -04:00
Kunshan Wang 132f097149 No computing embed_capa_max in str_subseq
Fix str_subseq so that it does not attempt to predict the size of the
object returned by str_alloc_heap.
2023-08-03 14:52:44 -04:00
Takashi Kokubun b35a222348 gdb.py: Support dumping a dummy frame [ci skip] 2023-08-03 09:55:37 -07:00
Peter Zhu c65856d44f Remove unneeded function prototype
Function prototype for gc_mode_transition is not needed as it's not
used before the implementation.
2023-08-03 11:12:07 -04:00