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

3153 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 4589056384 Exit with a failure if any test files failed to load 2023-06-03 20:22:10 +09:00
Hiroshi SHIBATA 4bbeed6134 Merge RubyGems/Bundler master from 4076391fce5847689bf2ec402b17133fe4e32285 2023-05-30 21:50:07 +09:00
yui-knk 41512cd1bf Lrama v0.5.1 2023-05-20 16:42:39 +09:00
Yuichiro Kaneko 41dccb6a7b
Lrama v0.5.0 (#7814) 2023-05-15 19:01:07 +09:00
Nobuyoshi Nakada bdaa491565 Add user argument to some macros used by bison 2023-05-14 15:38:48 +09:00
Yuichiro Kaneko a1b01e7701
Use Lrama LALR parser generator instead of Bison
https://bugs.ruby-lang.org/issues/19637

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2023-05-12 18:25:10 +09:00
Janosch Müller b742fb029d
[DOC] Update how to run tool/enc-unicode.rb 2023-05-12 14:15:47 +09:00
Hiroshi SHIBATA 8866e08207
Removed sync task for ext/readline 2023-05-10 15:03:58 +09:00
Hiroshi SHIBATA 59646e8798 Allow to use development version of bundled gems for packaging 2023-05-09 12:57:12 +09:00
Hiroshi SHIBATA bb75e83d9f We should not validate development version of bundled gems with fetch timing.
We want to notify above situation when release time. So, I move this check into ruby/actions.
2023-05-09 12:57:12 +09:00
Nobuyoshi Nakada 31774bd565
Remove `sync_tool` task from Rakefile when syncing [ci skip] 2023-05-02 18:27:10 +09:00
Hiroshi SHIBATA 90baadb904
Ignore to sync used_cassettes.txt 2023-05-01 17:38:49 +09:00
Nobuyoshi Nakada d239643603 core_assertions.rb: Support old rubies
Some symbol argument might not be accepted by Process.clock_gettime.
2023-04-29 11:28:26 +09:00
Nobuyoshi Nakada ecd42cfe39
Skip added tool files
Get rid of accidents like 966f0d91e2.
2023-04-29 10:40:39 +09:00
Nobuyoshi Nakada 74028c210c
sync_tool.rake: Fold too long message [ci skip]
Split into title and body, like as the pull-request.
2023-04-29 00:46:35 +09:00
Nobuyoshi Nakada d887cd5ea1
sync_tool.rake: Add --update and --keep options [ci skip] 2023-04-29 00:39:59 +09:00
Nobuyoshi Nakada 08608be7f0
sync_tool.rake: Adjust the location [ci skip] 2023-04-28 22:31:07 +09:00
Nobuyoshi Nakada 9ea1281a76 Add sync_tool.rake [ci skip] 2023-04-28 22:05:09 +09:00
Nobuyoshi Nakada afc98e3b55 Copy also helper.rb [ci skip] 2023-04-28 22:05:09 +09:00
Nobuyoshi Nakada 0bd2782384 Improve sync_test_lib.rb [ci skip]
- read files to copy once at first
- take the destination top directory from command line arguments
- fix a typo
2023-04-28 22:05:09 +09:00
Nobuyoshi Nakada 35da0d4a6e
Support older git
The -b flag is available since 2.28, but Ubuntu 20.04 uses 2.25.
2023-04-28 18:29:31 +09:00
Soutaro Matsumoto f6694b5bc8
Bundle rbs-3.1.0 (#7766) 2023-04-28 11:04:03 +09:00
Hiroshi SHIBATA b90d87bf25
We need to checkout before BundledGem.dummy_gemspec checking.
When newer version released rather than gems/bundled_gems defined,
  `spec.version == Gem::Version.new(v)` always abort like:

  ```
  Unexpected versions between bundled_gems:3.0.4 and gemspec:3.1.0
  ```
2023-04-26 17:22:03 +09:00
Nobuyoshi Nakada de5cd5a635
Use shorter path as `SPEC_TEMP_DIR`
The temporary directory under the build directory may be too long as a
UNIX socket path.  On macOS, the default `TMPDIR` per user is also
very long.
2023-04-21 22:24:55 +09:00
Aaron Patterson bdffcd6df3 Update RJIT to support newarray_send
This also adds max / hash support
2023-04-18 17:16:22 -07:00
Nobuyoshi Nakada eab1f1ef18
Avoid diffutils 3.8 bug#61193 [ci skip] 2023-04-14 13:51:59 +09:00
Nobuyoshi Nakada 08324ab9eb
Include `--no-llvm-bc` option in `NM` macro only if usable 2023-04-08 12:47:27 +09:00
Aaron Patterson a9bfb64153 Expose rb_sym_to_proc via RJIT
This is needed for getblockparamproxy
2023-04-07 09:49:15 -07:00
Nobuyoshi Nakada 533423ebe4 core_assertions.rb: Prefer CPU time clocks
To prevent influence from other processes.
2023-04-06 00:19:03 +09:00
Nobuyoshi Nakada f9eb2515a3 core_assertions.rb: Extract common code block 2023-04-06 00:19:03 +09:00
Nobuyoshi Nakada f07c756494 core_assertions.rb: Tweak timeout limit
Increase the timeout limit when variance at rehearsal is small.
2023-04-06 00:19:03 +09:00
Peter Zhu 1da2e7fca3
[Feature #19579] Remove !USE_RVARGC code (#7655)
Remove !USE_RVARGC code

[Feature #19579]

The Variable Width Allocation feature was turned on by default in Ruby
3.2. Since then, we haven't received bug reports or backports to the
non-Variable Width Allocation code paths, so we assume that nobody is
using it. We also don't plan on maintaining the non-Variable Width
Allocation code, so we are going to remove it.
2023-04-04 17:30:06 -04:00
Takashi Kokubun d546f8c518 RJIT: Store type information in Context 2023-04-02 22:32:16 -07:00
Takashi Kokubun 6002b12611 RJIT: Support entry with different PCs 2023-04-02 15:27:40 -07:00
Takashi Kokubun 66f8efc342 RJIT: Simplify cfunc implementation 2023-04-02 13:58:39 -07:00
Takashi Kokubun 3fe134759c Skip assert_linear_performance for RJIT 2023-04-02 12:23:23 -07:00
Nobuyoshi Nakada 9e1ff2462b
leaked-globals: check for nm before files under missing [ci skip]
Abort if `nm` is not available, since it is needed by configure.ac to
check for prefix of external symbols.
2023-04-02 18:11:59 +09:00
Nobuyoshi Nakada 3a683964a0
leaked-globals: colorize skipping file names [ci skip] 2023-04-02 17:56:12 +09:00
Takashi Kokubun 1b475fcd10 Remove an unneeded function copy 2023-04-01 23:09:05 -07:00
Takashi Kokubun a077b7e36b RJIT: Support rest args 2023-04-01 23:00:36 -07:00
Takashi Kokubun 0973b93e49 RJIT: Start moving away from VM-like ISEQ handling 2023-04-01 16:56:05 -07:00
Koichi Sasada ad7362db07 rename `rb_thread_t::locking_native_thread`
to `rb_thread_t::has_dedicated_nt`
2023-03-31 18:10:00 +09:00
Nobuyoshi Nakada bccdc04166
Check if `Bundler::EnvironmentPreserver` is defined
Only `Bundler` might be defined.  `EnvironmentPreserver` and its
`BUNDLER_PREFIX` would be defined together in the same file.
2023-03-31 11:11:45 +09:00
Nobuyoshi Nakada c86ccccbd7
Revert "RBS: Pathname#taint and Pathname#untaint are removed"
This reverts commit 46132e78b7438389bf49a860a0cd8957f685dcb3, in favor
of 298cb57c11.
2023-03-28 18:02:50 +09:00
Nobuyoshi Nakada 6b05f125bb Skip commits only for tools
Get rid of accidents like 67feb782f9.
2023-03-28 17:17:51 +09:00
Nobuyoshi Nakada 98b409cb9c Set FILTER_BRANCH_SQUELCH_WARNING only in child environment 2023-03-28 17:17:51 +09:00
Nobuyoshi Nakada f6adc5be94 Check if Bundler is defined 2023-03-28 17:17:51 +09:00
NARUSE, Yui 9891797a27 Use 3 way merge for merger.rb
Since --3way insists --index, git diff needs to compare with HEAD.
2023-03-28 16:57:55 +09:00
Nobuyoshi Nakada 708c4903e1 RBS: Pathname#taint and Pathname#untaint are removed 2023-03-28 10:51:41 +09:00
Hiroshi SHIBATA 3eea85963b Use gemspec that keeps original dependencies 2023-03-27 17:45:43 +09:00
Takashi Kokubun 3352e76441 RJIT: Implement leaf builtin call 2023-03-26 19:25:17 -07:00
Takashi Kokubun dc270fc632 RJIT: Implement attr_writer 2023-03-26 18:02:25 -07:00
Takashi Kokubun 1dd65f7c55 RJIT: Initial support of splat 2023-03-25 00:31:11 -07:00
Hiroshi SHIBATA df21e7ebab
Added sync tools for test libraries like core_assertions.rb to default gems repositories 2023-03-24 13:31:32 +09:00
Nobuyoshi Nakada db7c38634e
core_assertions.rb: Raise `Timeout::Error` explicitly
So that `assert_raise` inside the block works.
2023-03-23 14:49:41 +09:00
Nobuyoshi Nakada e340eb2106
core_assertions.rb: Fix backward compatibility with pre 2.7 2023-03-22 23:07:26 +09:00
Nobuyoshi Nakada 27916db08c
[DOC] Update comment of assert_pattern_list
`pattern_list` may contain string since d903e76726.
2023-03-22 22:35:58 +09:00
Nobuyoshi Nakada 09bda4ceb5
core_assertions.rb: Refine `assert_linear_performance`
* Calculate each timeout from the ratio of each factor to the first
  factor.
2023-03-22 18:53:12 +09:00
Takashi Kokubun 70ea58bd5b RJIT: Break up RJIT send_iseq_complex exit reasons 2023-03-19 23:58:14 -07:00
Takashi Kokubun 59b86da82c RJIT: Implement ifunc invokeblock 2023-03-19 23:32:07 -07:00
Soutaro Matsumoto 615f42fd61
Add explanation to rbs_skip_tests (#7525) 2023-03-20 10:39:17 +09:00
Takashi Kokubun 83ad1cac81 RJIT: Optimize Kernel#respond_to? 2023-03-19 14:04:58 -07:00
Takashi Kokubun cd5a8d0160 RJIT: Optimize String#+@ 2023-03-19 13:36:26 -07:00
Takashi Kokubun 2121282753 RJIT: Optimize String#<< 2023-03-19 13:25:41 -07:00
Takashi Kokubun c4e2718763 RJIT: Workaround USE_RVARGC=0 CI 2023-03-18 23:42:58 -07:00
Takashi Kokubun 32e0c97dfa RJIT: Optimize String#bytesize 2023-03-18 23:35:42 -07:00
Takashi Kokubun 106cca5111 RJIT: Optimize String#empty? 2023-03-18 23:24:57 -07:00
Takashi Kokubun 824cf88969 RJIT: Optimize Kernel#is_a? 2023-03-18 22:59:46 -07:00
Takashi Kokubun cc9330f8c0 RJIT: Reorder opt_case_dispatch branches 2023-03-18 22:32:27 -07:00
Takashi Kokubun 71bcab4519 RJIT: Implement setclassvariable 2023-03-18 21:49:46 -07:00
Takashi Kokubun 8510f33cc1 RJIT: Implement intern 2023-03-18 21:42:20 -07:00
Takashi Kokubun 9c2792c3d3 RJIT: Implement toregexp 2023-03-18 21:37:49 -07:00
Takashi Kokubun d189f8d870 RJIT: Prefix rjit_options with rb_ 2023-03-18 21:28:55 -07:00
Takashi Kokubun 2eefd71e0f RJIT: Implement newrange 2023-03-18 21:24:31 -07:00
Takashi Kokubun 81e19b7d99 RJIT: Implement getglobal 2023-03-18 21:20:58 -07:00
Takashi Kokubun 9f8e914943 RJIT: Implement checkkeyword 2023-03-18 21:15:22 -07:00
Takashi Kokubun dc28ccbb6d RJIT: Implement getspecial insn 2023-03-18 00:00:18 -07:00
Takashi Kokubun 93e05aaa74 RJIT: Implement putspecialobject insn 2023-03-17 23:46:56 -07:00
Takashi Kokubun 45a17013aa RJIT: Implement throw insn 2023-03-17 23:27:16 -07:00
Nobuyoshi Nakada ccd2dbc4c1 core_assertions.rb: Relax `assert_linear_performance`
* Use an `Enumerable` as factors, instead of three arguments.

* Include `assert_operator` time in rehearsal time.

* Round up max expected time.
2023-03-18 02:41:02 +09:00
John Hawthorn 617c9b4656 Rename opes to operands on RubyVM::BaseInstruction 2023-03-16 14:16:56 -07:00
John Hawthorn 8dbddd5bf8 Rename opes to operands
Co-authored-by: Aaron Patterson <aaron.patterson@gmail.com>
2023-03-16 14:16:56 -07:00
John Hawthorn d454a590cc Re-add RJIT::Instruction#opes 2023-03-16 14:16:56 -07:00
Takashi Kokubun 182f4f0d1c Fix a bindgen CI failure 2023-03-16 11:05:54 -07:00
Takashi Kokubun a8e7fee801 Revert "core_assertions.rb: Refine `assert_linear_performance`"
This reverts commit cae4342dd5.

This is failing a lot of CIs and nobody is actively looking into fixing
it. Let me revert this until we have a solution to it.
2023-03-16 09:22:42 -07:00
Nobuyoshi Nakada cae4342dd5
core_assertions.rb: Refine `assert_linear_performance`
* Use an `Enumerable` as factors, instead of three arguments.
2023-03-16 18:51:02 +09:00
Nobuyoshi Nakada 09041a6ee8
core_assertions.rb: Refine `assert_linear_performance`
* Add `rehearsal` keyword argument
* Stop repeating with the same factor
2023-03-15 18:19:31 +09:00
Takashi Kokubun 70ba310212
YJIT: Introduce no_gc attribute (#7511) 2023-03-14 15:38:58 -07:00
Takashi Kokubun ed269c81aa RJIT: Count invokeblock exit types 2023-03-12 23:38:11 -07:00
Takashi Kokubun d27b594841 RJIT: Fix a typo
and import a missing function
2023-03-12 22:09:05 -07:00
Takashi Kokubun 9cd5441d28 RJIT: Implement --rjit-trace-exits 2023-03-12 15:15:08 -07:00
Nobuyoshi Nakada 7ce4b716bd
Add test for linear performance 2023-03-12 18:50:39 +09:00
Nobuyoshi Nakada 781222a8bc
core_assertions.rb: Consider backward compatibilities
This file is copied to default gems, which might support older
versions.
2023-03-12 18:40:41 +09:00
Takashi Kokubun fe34db5a1b RJIT: Migrate SIZET values to RJIT::C constants 2023-03-11 22:04:30 -08:00
Takashi Kokubun 50c5f94ed7 RJIT: Introduce constants under RubyVM::RJIT::C 2023-03-11 21:48:28 -08:00
Takashi Kokubun 58f7e8b7f8 RJIT: Automate function pointer imports 2023-03-11 21:26:40 -08:00
Takashi Kokubun 47a6cfca72 RJIT: Use as the largest type as possible
to just import stuff easily
2023-03-11 21:26:40 -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
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 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
Ian Ker-Seymer dd47ce10db [rubygems/rubygems] Use `RbSys::ExtensionTask` when creating new rust gems
https://github.com/rubygems/rubygems/commit/125f9fece9
2023-03-10 11:50:06 +00:00
Takashi Kokubun f5909ac6d9 RJIT: Stop allowing leaked globals rjit_* 2023-03-08 23:24:38 -08:00
Takashi Kokubun 309dd50a01 Fix node search in bindgen
This is to fix a weird bindgen behavior on Matt's branch:
https://github.com/ruby/ruby/pull/7393
2023-03-08 13:13:23 -08:00
Nobuyoshi Nakada bead4bce3b Constify local static variables in yyparse 2023-03-08 20:07:46 +09:00
Hiroshi SHIBATA 1163204021 code style 2023-03-08 17:48:43 +09:00
Hiroshi SHIBATA 0c9733ea86 Added missing dependency for rubygems 2023-03-08 17:48:43 +09:00
Hiroshi SHIBATA a7cee4da97 Added debug info to gemspec version check 2023-03-08 17:48:43 +09:00
Hiroshi SHIBATA c25738762a Check bundled_gems version and gemspec version strictly 2023-03-08 17:48:43 +09:00
Takashi Kokubun e93e780f3d Remove MJIT's builtin function compiler 2023-03-07 23:16:24 -08:00
Takashi Kokubun 23ec248e48 s/mjit/rjit/ 2023-03-06 23:44:01 -08:00
Takashi Kokubun 2e875549a9 s/MJIT/RJIT/ 2023-03-06 23:44:01 -08:00
Takashi Kokubun eaccdc1941 Rename MJIT filenames to RJIT 2023-03-06 23:44:01 -08:00
Takashi Kokubun 011c08b643 Remove obsoleted mjit_sp_inc.inc.erb 2023-03-06 23:05:50 -08:00
Takashi Kokubun b2130d5f5d Remove obsoleted tool/mjit_tabs.rb 2023-03-06 22:53:38 -08:00
Takashi Kokubun 072fc7671a Remove obsoleted tool/mjit_archflag.sh 2023-03-06 22:43:32 -08:00
Takashi Kokubun 31f4b2d86b
Drop obsoleted MJIT header (#7458)
RJIT doesn't need this.
2023-03-06 21:41:48 -08:00
Takashi Kokubun 85c6169674 Implement struct aref 2023-03-05 23:28:59 -08:00
Takashi Kokubun 35faa33b65 Implement bmethod 2023-03-05 23:28:59 -08:00
Takashi Kokubun c587666f68 Optimize Thread.current 2023-03-05 23:28:59 -08:00
Takashi Kokubun f2ef352ee0 Implement opt_str_freeze 2023-03-05 23:28:59 -08:00
Takashi Kokubun a1b2395409 Check for classes consistently 2023-03-05 23:28:59 -08:00
Takashi Kokubun 46a14b65fb Implement objtostring 2023-03-05 23:28:59 -08:00
Takashi Kokubun 7456b10c33 Implement getblockparamproxy 2023-03-05 23:28:59 -08:00
Takashi Kokubun db4a8afa5e Optimize BasicObject#! 2023-03-05 23:28:59 -08:00
Takashi Kokubun 487d4aa970 Implement known class guard for flonum 2023-03-05 23:28:59 -08:00
Takashi Kokubun 706f6272d9 Guard against GC of random ISEQs 2023-03-05 23:28:59 -08:00
Takashi Kokubun 33213542f2 Implement invokesuper 2023-03-05 23:28:59 -08:00
Takashi Kokubun 2cc4f506ba Implement optimized send 2023-03-05 23:28:59 -08:00
Takashi Kokubun a4bf1c661b Implement opt_invokebuiltin_delegate 2023-03-05 23:28:59 -08:00
Takashi Kokubun 7b78fd0df2 Count optimized method types 2023-03-05 23:28:59 -08:00
Takashi Kokubun d120394df3 Implement duparray and expandarray 2023-03-05 23:28:59 -08:00
Takashi Kokubun 3774fe4e91 Implement opt_eq and opt_neq 2023-03-05 23:28:59 -08:00
Takashi Kokubun bc50b0475a Implement opt_and and opt_or 2023-03-05 23:28:59 -08:00
Takashi Kokubun 67cc53214c Implement setlocal_WC_0 2023-03-05 23:28:59 -08:00
Takashi Kokubun ba491598cc Implement opt_mod 2023-03-05 23:28:59 -08:00
Takashi Kokubun 73a5b3d5d2 Implement Array#[] 2023-03-05 23:28:59 -08:00
Takashi Kokubun 51d36c7b34 Implement opt_le, opt_ge, and opt_gt 2023-03-05 23:28:59 -08:00
Takashi Kokubun 9e42f31574 Do not compile C calls when C tracing is enabled 2023-03-05 22:41:35 -08:00
Takashi Kokubun 14acf9b0a3 Decode trace insns properly 2023-03-05 22:41:35 -08:00
Takashi Kokubun 494989e87e Partially implement send of cfunc 2023-03-05 22:41:35 -08:00
Takashi Kokubun ecae1cd74e Implement attr_reader 2023-03-05 22:41:35 -08:00
Takashi Kokubun fa9a0cb970 Count unsupported method types 2023-03-05 22:11:20 -08:00
Takashi Kokubun 8d099ff699 Implement opt_aref for Hash 2023-03-05 22:11:20 -08:00
Takashi Kokubun a458923fe5 Implement jit_guard_known_class 2023-03-05 22:11:20 -08:00
Takashi Kokubun d332c6ee12 Implement getlocal_WC_1 2023-03-05 22:11:20 -08:00
Takashi Kokubun 5a1cee1d96 Implement getivar 2023-03-05 22:11:20 -08:00
Takashi Kokubun 6c1b1fa1f5 Refactor BranchStub 2023-03-05 22:11:20 -08:00
Takashi Kokubun 5c638c97bb Implement opt_plus 2023-03-05 22:11:20 -08:00
Takashi Kokubun e731ced271 Implement method call 2023-03-05 22:11:20 -08:00
Takashi Kokubun fa0b9c1c97 Initial implementation of send 2023-03-05 22:11:20 -08:00
Takashi Kokubun 9ef04f5636 Implement opt_minus 2023-03-05 22:11:20 -08:00
Takashi Kokubun a8dec34961 Implement initial opt_lt 2023-03-05 22:11:20 -08:00
Takashi Kokubun 21696ad81e Partly implement BOP assumption 2023-03-05 22:11:20 -08:00
Takashi Kokubun 9f8f1afba2 Implement --mjit-stats 2023-03-05 22:11:20 -08:00
Takashi Kokubun 4fe5efbf7f Implement asm comments 2023-03-05 22:11:20 -08:00
Takashi Kokubun d9c2eb6f42 Move modules around 2023-03-05 22:11:20 -08:00
Hiroshi SHIBATA 38831ae290
Introduce `UPDATE_BUNDLED_GEMS_ALL` option for auto update for bundled_gems file
We used `url` field for testing via git clone. Because `Gem::Specification#homepage` or
  `Gem::Specification#metadata` could assign non-git url. Unfotunately, We should specify
  clone URL for testing.
2023-03-06 10:42:36 +09:00
Nobuyoshi Nakada 6b46057e5c
Expand the test directory to real path
When the test source directory path contains symbolic links, that
directory might be placed earlier in the result of
`IRB::InputCompletor.retrieve_gem_and_system_load_path`, than other
directories in the source tree that are expanded to the real path.  In
that case, the test file in "csv" under the test directory of csv gem
instead of the library path will be the first candidate, in
`TestIRB::TestCompletion#test_complete_require_library_name_first`.

```
<"'csv"> expected but was
<"'csv/helper">.
```
2023-03-03 15:30:02 +09:00
Soutaro Matsumoto 1abec43b5d
Fix rbs (#7415)
* Update RBS to skip validation task
* Revert TEST_BUNDLED_GEMS_ALLOW_FAILURES
2023-03-02 12:59:04 +09:00
lukeg ba55706fb6 fix test/rubygems/test_gem_package_task.rb when in -j mode
This test skipped sometimes due to failure to load 'rake/packagetask'.
This is due to manipulation of $LOAD_PATH by other rubygems tests. If
rake is loaded before any rubygems tests run, then it works fine.

To reproduce the skipping behavior:
  $ make test-all TESTOPTS="-j6 --test-order=sorted test/rubygems/test_*.rb"
2023-02-28 06:34:27 +09:00
Hiroshi SHIBATA db0a4c8923 Prefer to use File.foreach instead of IO.foreach 2023-02-27 18:49:18 +09:00
Ben Hamilton c8bafc3b01 Fix autoconf RUBY_STACK_GROW_DIRECTION on ARM devices 2023-02-26 22:17:24 +09:00
Peter Zhu 3e09822407 Fix incorrect line numbers in GC hook
If the previous instruction is not a leaf instruction, then the PC was
incremented before the instruction was ran (meaning the currently
executing instruction is actually the previous instruction), so we
should not increment the PC otherwise we will calculate the source
line for the next instruction.

This bug can be reproduced in the following script:

```
require "objspace"

ObjectSpace.trace_object_allocations_start
a =

  1.0 / 0.0
p [ObjectSpace.allocation_sourceline(a), ObjectSpace.allocation_sourcefile(a)]
```

Which outputs: [4, "test.rb"]

This is incorrect because the object was allocated on line 10 and not
line 4. The behaviour is correct when we use a leaf instruction (e.g.
if we replaced `1.0 / 0.0` with `"hello"`), then the output is:
[10, "test.rb"].

[Bug #19456]
2023-02-24 14:10:09 -05:00
Peter Zhu d2631c427e Fix RubyVM::CExpr#inspect
@__LINE__ can be nil which causes the inspect method to fail.
2023-02-24 14:10:09 -05:00
Nobuyoshi Nakada ac5a949c2a
Refine exception messages when git failed 2023-02-22 10:23:05 +09:00
Nobuyoshi Nakada 37b6d98840 Use `Gem::Package#build` instead of the class method for old baseruby 2023-02-22 02:07:59 +09:00
Nobuyoshi Nakada 289080e4d8 Clone and create dummy gemspec in sequential build 2023-02-22 02:07:59 +09:00
Nobuyoshi Nakada 241c4cfdd4 Move dummy gemspec file creation for extract-gems-sequential 2023-02-22 02:07:59 +09:00
Matt Valentine-House 3c01342e19 Fix detection of compiler_wd in tool/update-deps 2023-02-21 10:57:28 -05:00
Yusuke Endoh 759d23584e Create a dummy minitest.gemspec for a bundled gem
To use the repository version of bundled gems, we need to build a gem by
"gem build", but the repository of minitest does not include
minitest.gemspec because it uses hoe.

This change creats a dummy minitest.gemspec to pass the CI.
2023-02-19 21:06:13 +09:00
Nobuyoshi Nakada 849087ccb1
Apply zone offset to the last modified time 2023-02-13 15:12:14 +09:00
Hiroshi SHIBATA 07bf97e94f
Enhancement github releases generator
* Create GitHub Releases by itself
  * Added help and usage message
  * Decorate release body
2023-02-10 09:26:12 +09:00
Hiroshi SHIBATA 0a8faab5c2
Avoid to duplicate entries that own redmine and github ids 2023-02-09 19:21:31 +09:00
Hiroshi SHIBATA 5991af204c
Added helper script for generate github releases 2023-02-09 18:52:59 +09:00
Hiroshi SHIBATA 6e7990144f Removed svn feature from make-snapshot 2023-02-08 15:36:32 +09:00
NARUSE, Yui 269c5d408f fix to work with the case default issue is used 2023-02-01 22:49:54 +09:00
Nobuyoshi Nakada be81495c16
Silence dozens of useless warnings from `nm` on macOS 2023-01-31 19:42:01 +09:00
NARUSE, Yui b0b61623ad Add quotes to backport field 2023-01-31 10:53:57 +09:00
Nobuyoshi Nakada 3a7367ccc3 mkconfig: Map `includedir` only for system ruby
Only when installing to the system path on macOS, prepend '$(SDKROOT)'
and remap `includedir`.
Fix https://github.com/rbenv/ruby-build/discussions/2123
2023-01-31 06:33:16 +09:00
Alan Wu 7d4395cb69 YJIT: Fix shared/static library symbol leaks
Rust 1.58.0 unfortunately doesn't provide facilities to control symbol
visibility/presence, but we care about controlling the list of
symbols exported from libruby-static.a and libruby.so.

This commit uses `ld -r` to make a single object out of rustc's
staticlib output, libyjit.a. This moves libyjit.a out of MAINLIBS and adds
libyjit.o into COMMONOBJS, which obviates the code for merging libyjit.a
into libruby-static.a. The odd appearance of libyjit.a in SOLIBS is also
gone.

To filter out symbols we do not want to export on ELF platforms, we use
objcopy after the partial link. On darwin, we supply a symbol list to
the linker which takes care of hiding unprefixed symbols.

[Bug #19255]

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2023-01-27 12:28:09 -05:00
Nobuyoshi Nakada 6422fef90c Fix `target_cpu` at runtime 2023-01-26 16:31:08 +09:00
Hiroshi SHIBATA 2d98127131
Filter spec directory for code coverage 2023-01-26 14:05:01 +09:00
Hiroshi SHIBATA 069b6f88e2 Ignore all of tool directory from code coverage, It contains tool/test and etc. 2023-01-26 13:52:20 +09:00
Hiroshi SHIBATA 8662d70a8b Ignore vendored libraries by rubygems from code coverage 2023-01-26 13:52:20 +09:00
Hiroshi SHIBATA 98e84f3f7a filter coverage result with vendored libraries and test code 2023-01-26 13:52:20 +09:00
Nobuyoshi Nakada 17f5631c6e [Bug #19340] Fix bundle gems with test revision
Build temporary gem package from cloned repository if test revision is
set.
2023-01-26 12:50:39 +09:00
Hiroshi SHIBATA 5e1e5af2e7
Support simplecov-0.22.0.
simplecov-0.22.0 no longer support pre-0.18 result format. result data needs
  `lines` key for coverage data.
2023-01-25 16:47:05 +09:00
Nobuyoshi Nakada 1e2523fad7
Silence dozens of useless warnings from `ranlib` on macOS [ci skip] 2023-01-23 19:02:36 +09:00
Nobuyoshi Nakada 418b03c750
tool/leaked-globals: ignore function typedef [ci skip] 2023-01-21 19:26:16 +09:00
Nobuyoshi Nakada 03f5db01e6
Make installation messages verbose a little [ci skip] 2023-01-18 23:55:25 +09:00
Hiroshi SHIBATA 18d8333c30 Switch to use gem version of simplecov, not git clone 2023-01-18 20:19:08 +09:00
Hiroshi SHIBATA ba45be3c43
Supressing warnings messages like:
Ignoring debug-1.7.1 because its extensions are not built. Try: gem pristine debug --version 1.7.

  Revert "Clear gem paths for each test"

  This reverts commit 6698b580dd.
2023-01-18 16:14:00 +09:00
Nobuyoshi Nakada 6698b580dd Clear gem paths for each test
So that rubygems can find the bundled rake.
2023-01-15 23:57:43 +09:00
Nobuyoshi Nakada fc7f852033
[DOC] Add gem lists to NEWS.md automatically 2023-01-13 20:34:45 +09:00
Nobuyoshi Nakada 447f8f7a3c
[DOC] Changed gem list style in NEWS.md 2023-01-13 20:34:45 +09:00
Nobuyoshi Nakada 3ecffae8e8
[DOC] Extract tool/update-NEWS-gemlist.rb 2023-01-13 20:34:08 +09:00