Commit graph

77079 commits

Author SHA1 Message Date
Takashi Kokubun
47a6cfca72 RJIT: Use as the largest type as possible
to just import stuff easily
2023-03-11 21:26:40 -08:00
Hiroshi SHIBATA
2570374bc8
Update ruby/action-slack v3.1.1 (#7505) 2023-03-11 21:00:00 -08:00
Takashi Kokubun
e4caf59cc1 Move yjit_force_enabled? to JITSupport
for consistency
2023-03-11 20:59:03 -08:00
Takashi Kokubun
4445b9e2a2 Remove unused methods from JITSupport 2023-03-11 20:56:29 -08:00
Takashi Kokubun
195e32977f Skip test_udp_server on s390x RHEL 7.1
It seems like it never succeeds on this CI.
2023-03-11 20:51:49 -08:00
Takashi Kokubun
46a3634bcf RJIT: Use SIZET macros instead of original PTR ones 2023-03-11 20:47:08 -08:00
Takashi Kokubun
c6bea54c70 RJIT: Drop unused USE_* macros support 2023-03-11 20:42:28 -08:00
S-H-GAMELINKS
2d0dc376c4 Reuse CVAR_LOOKUP macro 2023-03-12 10:08:18 +09:00
Takashi Kokubun
94da5f7c36 Rename builtin attr :inline to :leaf 2023-03-11 14:25:12 -08:00
Takashi Kokubun
0c0c88d383 Support multiple attributes with Primitive.attr! 2023-03-11 14:19:46 -08:00
Takashi Kokubun
3a02c7818c
Change the syntax of Primitive.attr! to Symbol (#7501) 2023-03-10 23:40:57 -08:00
Takashi Kokubun
ac47b8df8f
Bump the required BASERUBY version to 2.5 (#7504)
[Misc #16671]

I'd like to bump it to 2.7 to use pattern matching in
tool/mk_builtin_loader.rb.

However, I experienced a few blockers. 2.5 seems like the closest
version that is easy enough to use on CIs, so let me bump the version to
it as an intermediate step for it. I want to use &. and <<~ in 2.3 too.

Known blockers:
* AppVeyor Visual Studio 2015 doesn't have Ruby 2.7. You'd need to bump
  the version to Visual Studio 2019.
* GitHub Actions windows-2019 doesn't have Ruby 2.7 either. You
  can use ruby/setup-ruby, but configure doesn't seem to work with it.
* For ruby/ruby-ci-imaage, bionic doesn't have Ruby 2.7. I tried using
  ruby-build to build Ruby 2.7 from package, but the build on its CI
  seems to somehow loop forever when I do that. So I gave it up for now.
  We might want to wait until bionic becomes EOL.

Note:
* AppVeyor Visual Studio 2015 has Ruby <= 2.6.3
  https://www.appveyor.com/docs/windows-images-software/#ruby
* GitHub Actions windows-2019 uses Ruby 2.5.9
  https://github.com/actions/runner-images/blob/main/images/win/Windows2019-Readme.md
2023-03-10 23:40:22 -08:00
Takashi Kokubun
973cb64b1c RJIT: Skip a flaky test_thread test for now
and unskip a ractor test that was actually running
2023-03-10 23:24:18 -08:00
Hiroshi SHIBATA
f7b215af0e [rubygems/rubygems] Added another case of extconf.rb
3d0fa3dee8
2023-03-11 04:44:44 +00:00
Hiroshi SHIBATA
9801ad47bd [rubygems/rubygems] Added test for
https://github.com/rubygems/rubygems/pull/6444

7d6ece5c92
2023-03-11 04:44:44 +00:00
Takashi Kokubun
93e34fe42e RJIT: Write initial tests for Assembler 2023-03-10 14:57:37 -08:00
Takashi Kokubun
83f6eee76c
YJIT: Bump SEND_MAX_DEPTH to 20 (#7469)
* YJIT: Bump SEND_MAX_DEPTH to 20

* Fix a test failure
2023-03-10 17:14:38 -05:00
Takashi Kokubun
76808b1ee4 RJIT: Start testing Assembler 2023-03-10 13:57:52 -08:00
Takashi Kokubun
6440d159b3 RJIT: Simplify RubyVM::RJIT::Instruction 2023-03-10 13:15:48 -08:00
Takashi Kokubun
cdece5cf36 RJIT: Remove unused code from headers 2023-03-10 13:11:01 -08:00
Takashi Kokubun
c364e0745d RJIT: Introduce --rjit-exec-mem-size 2023-03-10 13:04:45 -08:00
Jean Boussier
9bb4397875 Mark weak maps as write barrier protected
For both we mark the lambda finalizer.

ObjectSpace::WeakMap doesn't mark any other reference, so we can just add the flag.

ObjectSpace::WeakKeyMap only ever add new refs in `wkmap_aset`, so we can just trigger the write barrier there.
2023-03-10 21:15:20 +01:00
Takashi Kokubun
93f7106b62 RJIT: Remove unused methods in rjit_c.rb 2023-03-10 11:42:23 -08:00
Takashi Kokubun
d5b7c8a972 RJIT: Always enable --rjit-dump-disasm 2023-03-10 11:29:25 -08:00
Peter Zhu
d0b8bdb392 Remove duplicate code in gc_marks_finish
There is an identical block a few lines down that does the exact same
thing.
2023-03-10 13:13:34 -05:00
Takashi Kokubun
ac5f983f7d
RJIT: Break up and enable test_version (#7495) 2023-03-10 10:07:52 -08:00
Aaron Patterson
365fed6369
Revert "Allow classes and modules to become too complex"
This reverts commit 69465df424.
2023-03-10 08:50:43 -08:00
Peter Zhu
f98a7fd28d Move WeakMap and WeakKeyMap code to weakmap.c
These classes don't belong in gc.c as they're not actually part of the
GC. This commit refactors the code by moving all the code into a
weakmap.c file.
2023-03-10 09:32:10 -05:00
Ian Ker-Seymer
dd47ce10db [rubygems/rubygems] Use RbSys::ExtensionTask when creating new rust gems
125f9fece9
2023-03-10 11:50:06 +00:00
Samuel Williams
4dce12bead
Remove prototypes for functions that are no longer used. (#7497) 2023-03-10 23:38:09 +13:00
Takashi Kokubun
3c35c13aaa RJIT: Resurrect --rjit-pause and RJIT.resume 2023-03-09 22:43:53 -08:00
Takashi Kokubun
e07e9f8491 RJIT: Do nothing on jit_cont_free
if cont is NULL.
2023-03-09 22:31:51 -08:00
Takashi Kokubun
4afe9c09a0 RJIT: Use imemo_type_p instead
which seems safer. It seems like imemo_type can cause SEGV.
2023-03-09 22:15:16 -08:00
Takashi Kokubun
35fd79ac37 RJIT: Lazily compile global ocb 2023-03-09 21:55:14 -08:00
Hiroshi SHIBATA
5e27d82dd0 [rubygems/rubygems] rubocop -a test/rubygems/test_gem.rb
4d20ed7e32
2023-03-10 05:16:52 +00:00
Hiroshi SHIBATA
f1c9f89ff8 [rubygems/rubygems] Disable side-effect of GEM_HOME configuration
c43328ab03
2023-03-10 05:16:52 +00:00
Takashi Kokubun
65f2563551 Explain the project purpose in rjit.md [ci skip] 2023-03-09 20:57:07 -08:00
Hiroshi SHIBATA
fade612d18 [rubygems/rubygems] Removed needless option
4489361a21
2023-03-10 03:51:17 +00:00
Hiroshi SHIBATA
15739c66b7 [rubygems/rubygems] Added only missing extensions option into pristine command
cfd0e615d7
2023-03-10 03:51:16 +00:00
Samuel Williams
86d38b4520
Accept sleep(nil) as sleep forever. (#7484) 2023-03-10 16:40:05 +13:00
dependabot[bot]
dcc8ecdee8 Bump ruby/setup-ruby from 1.143.0 to 1.144.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.143.0 to 1.144.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](31a7f6d628...9669f3ee51)

---
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-03-10 12:35:23 +09:00
Nobuyoshi Nakada
a7bc000eaa
Revert and refine tests for uninitialized queue
`Queue` and `SizedQueue` still check array members.  Only the test of
`ConditionVariable` is useless.
2023-03-10 12:03:31 +09:00
Nobuyoshi Nakada
0a466e3072
Remove stale tests
These tests were added at a198bb3929,
when these classes were `Struct`s.  Since these classes have been
rewritten, these tests no longer make sense.
2023-03-10 11:54:59 +09:00
HParker
69465df424 Allow classes and modules to become too complex
This makes the behavior of classes and modules when there are too many instance variables match the behavior of objects with too many instance variables.
2023-03-09 15:34:49 -08:00
Maxime Chevalier-Boisvert
65a95b8259
YJIT: upgrade type in guard_object_is_string (#7489)
* YJIT: upgrade type in guard_object_is_string

Also make logic more in line with other guard_xxx methods

* Update yjit/src/core.rs

* Revert changes to Type::upgrade()
2023-03-09 18:26:21 -05:00
Matt Valentine-House
9546c70e09 Remove unused forward decl of rb_thread_struct 2023-03-09 21:14:01 +00:00
Takashi Kokubun
487142928a
YJIT: Merge x86_merge into x86_split (#7487) 2023-03-09 11:58:40 -08:00
Takashi Kokubun
1347d707ca Ignore parse.y expand tabs commit
[Misc #19523]
2023-03-09 09:34:04 -08:00
Takashi Kokubun
c5e9af9c9d Expand tabs in parse.y
I used the same script as https://github.com/ruby/ruby/pull/6094 but
for a .y file.
2023-03-09 09:32:11 -08:00
Takashi Kokubun
74f44dae96 Another fix for 262254dc7d
Koichi might want to adjust his editor configuration.
2023-03-09 09:29:08 -08:00