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

3022 Коммитов

Автор SHA1 Сообщение Дата
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