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