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

46 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 2f1586f6f2 Check leaked global symbols by default 2023-04-03 10:07:22 +09:00
Ian Ker-Seymer 8d3ff66389
Enable `clippy` checks for yjit in CI (#7093)
* Add job to check clippy lints in CI

* Address all remaining clippy lints

* Check lints on arm64 as well

* Apply latest clippy lints

* Do not exit 0 on clippy warnings
2023-01-12 10:14:17 -05:00
Alan Wu 258ac07907
YJIT: Generate debug info in release builds (#6910)
* YJIT: Generate debug info in release builds

They are helpful in case we need to do core dump debugging.

* Remove Cirrus DOC skip rule

The syntax for this is weird, and escaping [ and ] cause parse failures.
Cirrus' docs said to surround with .*, but then that seems to skip
everything. Revert e0a4205eb7 for now.
2022-12-12 15:59:29 -05:00
Alan Wu e0a4205eb7 Skip Cirrus checks for [DOC] commits
Since we also skip them on GitHub Actions.
2022-12-11 12:14:04 -05:00
Takashi Kokubun 607fb49dbc
YJIT: Lower the required Rust version from 1.58.1 to 1.58.0 (#6780) 2022-11-21 10:27:39 -08:00
Takashi Kokubun 792dc553f1
YJIT: Test --yjit-verify-ctx on GitHub Actions as well (#6639) 2022-10-26 18:20:33 -04:00
Nobuyoshi Nakada 1e66d3b853
Ignore manual files only commits [ci skip] 2022-10-20 21:58:06 +09:00
Takashi Kokubun 166140aa28
YJIT: Set RUST_BACKTRACE=1 in every Cirrus script (#6526)
* YJIT: Set RUST_BACKTRACE=1 in every Cirrus script

* YJIT: Print $CIRRUS_ENV correctly

It looks like $CIRRUS_ENV is cleaned up at every script.
2022-10-12 15:50:50 -04:00
Takashi Kokubun 912ea8257a
YJIT: Support Rust 1.58.1 for --yjit-stats on Arm (#6410)
* YJIT: Test Rust 1.58.1 as well on Cirrus

* YJIT: Avoid using a Rust 1.60.0 feature

* YJIT: Use autoconf to detect support

* YJIT: We actually need to run it

for checking it properly

* YJIT: Try cfg!(target_feature = "lse")

* Revert "YJIT: Try cfg!(target_feature = "lse")"

This reverts commit 4e2a9ca9a9c83052c23b5e205c91bdf79e88342e.

* YJIT: Add --features stats only when it works

* Update configure.ac

Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
2022-09-23 16:17:54 -04:00
Takashi Kokubun e896b33860
Test --enable-yjit on aarch64 as well (#6313) 2022-09-01 20:05:49 -07:00
Takashi Kokubun fb5fa84f83
Remove workarounds for slow compilation on Cirrus (#6310)
Remove workarounds for slow compilation
2022-09-01 20:05:13 -07:00
Nobuyoshi Nakada 811ca75f3b
Remove -j option
Close https://github.com/ruby/ruby/pull/6307

Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
2022-08-31 15:09:22 -07:00
Maxime Chevalier-Boisvert 4a4daf00af Update .cirrus.yml 2022-08-30 14:21:43 -07:00
Takashi Kokubun 918a658556 Run cargo test on Cirrus 2022-08-30 14:21:43 -07:00
Takashi Kokubun 497b5ee180 Normalize the YJIT Cirrus workflow a little 2022-08-30 14:21:43 -07:00
Takashi Kokubun c2e9253893 Stop saying it's temp checks (https://github.com/Shopify/ruby/pull/441) 2022-08-29 09:09:41 -07:00
Takashi Kokubun 4b7d3884df Avoid randomizing the order of test-all on arm64 (https://github.com/Shopify/ruby/pull/440)
for now
2022-08-29 09:09:41 -07:00
Takashi Kokubun 232e43fd52 Respect RUBY_TESTOPTS on test-all (https://github.com/Shopify/ruby/pull/435)
* Respect RUBY_TESTOPTS on test-all

* Increase the Cirrus timeout

* Increase the CSV test timeout
2022-08-29 09:09:41 -07:00
Takashi Kokubun d433eb957b Run tests with --yjit-call-threshold=1 on arm64 (https://github.com/Shopify/ruby/pull/426) 2022-08-29 09:09:41 -07:00
Takashi Kokubun d5fe9e1d9a Run test-all with RUBY_YJIT_ENABLE=1 on CI (https://github.com/Shopify/ruby/pull/418) 2022-08-29 09:09:41 -07:00
Takashi Kokubun 5114ddce3f Avoid marking op_type on gen_defined (https://github.com/Shopify/ruby/pull/419) 2022-08-29 09:09:41 -07:00
Maxime Chevalier-Boisvert 95dce1ccac
Temporarily disable rb_str_concat, add CI tests (https://github.com/Shopify/ruby/pull/407)
Make sure we can load the test-all runner and run test_yjit.rb
2022-08-29 08:47:11 -07:00
Maxime Chevalier-Boisvert b54643d13a
Handle out of memory tests (https://github.com/Shopify/ruby/pull/393) 2022-08-29 08:47:10 -07:00
Maxime Chevalier-Boisvert cad35fb25c
Try to run make -j in CI backend tests (https://github.com/Shopify/ruby/pull/386) 2022-08-29 08:47:09 -07:00
Takashi Kokubun 668b99b43b
Port gen_send_iseq to the new backend IR (https://github.com/Shopify/ruby/pull/381)
* Port gen_send_iseq to the new backend IR

* Replace occurrences of 8 by SIZEOF_VALUE

Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
2022-08-29 08:47:09 -07:00
Maxime Chevalier-Boisvert 32d9eef562
Enable test_literal.rb and test_ractor.rb on arm 2022-08-29 08:47:09 -07:00
Maxime Chevalier-Boisvert 85d6d76e41
Enable test_insns.rb on arm 2022-08-29 08:47:08 -07:00
Maxime Chevalier-Boisvert 46822ee13f
Enable btests now passing on arm (https://github.com/Shopify/ruby/pull/378) 2022-08-29 08:47:08 -07:00
Maxime Chevalier-Boisvert d63b3e43bd
Enable test_thread.rb on arm, now working 2022-08-29 08:47:06 -07:00
Maxime Chevalier-Boisvert 9db2ca723c
Add 1 more allocatable reg on arm 2022-08-29 08:47:06 -07:00
Maxime Chevalier-Boisvert e131b217cf
Test --yjit-stats in our CI workflows 2022-08-29 08:47:04 -07:00
Maxime Chevalier-Boisvert 133ad38777
Fix CI workflows 2022-08-29 08:47:04 -07:00
Kevin Newton f593b2c6db
Fixes for AArch64 (https://github.com/Shopify/ruby/pull/338)
* Better splitting for Op::Add, Op::Sub, and Op::Cmp

* Split stores if the displacement is too large

* Use a shifted immediate argument

* Split all places where shifted immediates are used

* Add more tests to the cirrus workflow
2022-08-29 08:47:04 -07:00
Maxime Chevalier-Boisvert 96303342e4
Enable more btests 2022-08-29 08:47:04 -07:00
Maxime Chevalier-Boisvert e9a2effd74
Enable more btests in the CI workflows (https://github.com/Shopify/ruby/pull/334)
* Enable more btests in the CI workflows

* Update workflows
2022-08-29 08:47:03 -07:00
Maxime Chevalier-Boisvert 90137f5194
Implement PosMarker instruction (https://github.com/Shopify/ruby/pull/328)
* Implement PosMarker instruction

* Implement PosMarker in the arm backend

* Make bindgen run only for clang image

* Fix if-else in cirrus CI file

* Add missing semicolon

* Try removing trailing semicolon

* Try to fix shell/YAML syntax

Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
2022-08-29 08:47:02 -07:00
Maxime Chevalier-Boisvert bf7277b518
Update cirrus workflow 2022-08-29 08:47:01 -07:00
Maxime Chevalier-Boisvert 7787ef29fe
Add --yjit-dump-insns test to Cirrus Arm workflow 2022-08-29 08:47:01 -07:00
Maxime Chevalier-Boisvert 38c2fb8a90
Port YJIT New Backend Temp Checks to Cirrus (https://github.com/Shopify/ruby/pull/312)
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2022-08-29 08:46:59 -07:00
Nobuyoshi Nakada d91865f33f
Ignore `.document` only commits [ci skip] 2022-08-22 18:08:05 +09:00
S-H-GAMELINKS 3a70d4cd60 [DOC] Fix ghcr link 2022-03-31 08:35:39 +09:00
Nobuyoshi Nakada aceb75f6c9
Skip tests if only document files changed on Cirrus-CI [ci skip] 2021-11-25 11:10:34 +09:00
Nobuyoshi Nakada 5ec730cda5
Set the locale encoding to UTF-8
Cirrus CI sets the environment variable `CIRRUS_COMMIT_MESSAGE`
from the pull request description.
2021-09-28 00:52:18 +09:00
Nobuyoshi Nakada a28fff5f73
Revert "Unexport `CIRRUS_COMMIT_MESSAGE`"
This reverts commit 09863a4cd8.
2021-09-28 00:52:18 +09:00
Nobuyoshi Nakada 09863a4cd8
Unexport `CIRRUS_COMMIT_MESSAGE`
Cirrus CI sets this environment variable from the pull request
description.  However it does not seem any locales other than C
are installed, the default external encoding is US-ASCII.  That
means this environment variable will be an invalid byte sequence,
and some tests fail.
2021-09-27 21:11:56 +09:00
fedor dd78084ea6 .cirrus.yml: Add Cirrus CI for Arm64 tests.
Co-authored-by: fedor <fedor@cirruslabs.org>
2021-09-22 09:01:43 +02:00