77295 Commits

Author SHA1 Message Date
Hiroshi SHIBATA
27f709aa3c
Rename YAML::VERSION. It's conflict with Psych::VERSION 2023-04-03 12:43:11 +09:00
Hiroshi SHIBATA
b5c8c73f66
Fixed version detection paths in ruby repository 2023-04-03 12:00:59 +09:00
Hiroshi SHIBATA
14f442a958 [ruby/base64] Expose Base64::VERSION
https://github.com/ruby/base64/commit/dda85a0839
2023-04-03 02:45:42 +00:00
Hiroshi SHIBATA
ba4f01f0a0 [ruby/yaml] Expose YAML::VERSION
https://github.com/ruby/yaml/commit/8776bc2634
2023-04-03 02:45:18 +00:00
Hiroshi SHIBATA
6dcd399976 [ruby/tsort] Expose TSort::VERSION
https://github.com/ruby/tsort/commit/09f2275958
2023-04-03 02:41:44 +00:00
Hiroshi SHIBATA
a70653ca7f [ruby/find] Expose Find::VERSION
https://github.com/ruby/find/commit/a24124a08a
2023-04-03 02:40:37 +00:00
Nobuyoshi Nakada
2f1586f6f2 Check leaked global symbols by default 2023-04-03 10:07:22 +09:00
Takashi Kokubun
8968b47ba8 RJIT: Refactor getlocal and setlocal 2023-04-02 16:50:54 -07:00
Takashi Kokubun
6002b12611 RJIT: Support entry with different PCs 2023-04-02 15:27:40 -07:00
Takashi Kokubun
4fc336127e RJIT: Support has_opt ISEQs 2023-04-02 14:47:23 -07:00
Takashi Kokubun
ad2b719fc2 RJIT: C::FL_TEST_RAW returns RBOOL 2023-04-02 14:32:51 -07:00
Takashi Kokubun
57ee627929 RJIT: Lazily guard block arg
to simplify the implementation
2023-04-02 14:22:42 -07:00
Takashi Kokubun
66f8efc342 RJIT: Simplify cfunc implementation 2023-04-02 13:58:39 -07:00
Takashi Kokubun
284a0ff96c RJIT: Remove an unneeded branch 2023-04-02 12:28:49 -07:00
Takashi Kokubun
3fe134759c Skip assert_linear_performance for RJIT 2023-04-02 12:23:23 -07:00
Takashi Kokubun
bf7587748d RJIT: Simplify invokesuper implementation 2023-04-02 11:42:16 -07:00
Takashi Kokubun
5cc644b147 RJIT: Group blockarg exit reasons 2023-04-02 11:01:23 -07:00
Takashi Kokubun
cd1cd8030c RJIT: Support splat args 2023-04-02 10:55:03 -07:00
Takashi Kokubun
6f2535deda RJIT: Prefix a constant with C namespace 2023-04-02 10:40:37 -07:00
Takashi Kokubun
62188c8584 RJIT: Update exit reasons 2023-04-02 10:27:17 -07:00
Takashi Kokubun
7778c292c4 RJIT: Support keyword arguments 2023-04-02 10:26:22 -07:00
Stan Lo
cd94bcdc46 [ruby/irb] Don't check RUBY_ENGINE when deciding whether to accept kargs
Ruby implementations like JRuby and TruffleRuby already indicate their
compatibility target with RUBY_VERSION. We don't need to exclude
them from accepting keyword arguments as long as they target 2.7+.

https://github.com/ruby/irb/commit/bf20faa4e6

Co-authored-by: Kevin Menard <kevin@nirvdrum.com>
2023-04-02 15:34:28 +00:00
Stan Lo
f25791884c [ruby/irb] Remove dead code (https://github.com/ruby/irb/pull/554)
* Remove unused ATTR_TTY and ATTR_PLAIN constants

They were added in d7d26b51bf

But the references were removed in 1c76845cca

Co-authored-by: Alexandre Terrasa <alexandre.terrasa@shopify.com>

* Remove unused MethodExtender module

It was added in 6cc5d718d7
but it's not used anywhere.

Co-authored-by: Alexandre Terrasa <alexandre.terrasa@shopify.com>

* Remove unused IRB.irb_at_exit

It's not used after aaf4eb4e98

Co-authored-by: Alexandre Terrasa <alexandre.terrasa@shopify.com>

* Remove unused InputCompletor.ignored_modules

It was added in 88311ce3c8
but the reference was removed in 78c74d2425

* Remove unused TracerLoadError constant

This constant was added in cb50fa3738
but never referenced.

---------

https://github.com/ruby/irb/commit/7de0234325

Co-authored-by: Alexandre Terrasa <alexandre.terrasa@shopify.com>
2023-04-02 14:11:12 +00: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
6c55c3eb7f RJIT: Fix a leaked-globals failure 2023-04-01 23:07:22 -07:00
Takashi Kokubun
a077b7e36b RJIT: Support rest args 2023-04-01 23:00:36 -07:00
Takashi Kokubun
87dc06ed24 RJIT: Comment a location for each block 2023-04-01 22:39:16 -07:00
Takashi Kokubun
bf2617b8a6 RJIT: Fix has_rest exit conditions 2023-04-01 21:47:28 -07:00
Takashi Kokubun
ee52255f93 RJIT: Return CantCompile early for arg0 splat 2023-04-01 21:42:34 -07:00
Takashi Kokubun
2ce5cfa2be RJIT: Save PC on String#concat 2023-04-01 21:34:19 -07:00
Takashi Kokubun
e45ed2da50 RJIT: Rewind stack_size on CantCompile and side exits
so that we can take an exit whenever we want.

As a starter, this commit also pops blockarg earlier than some
CantCompile exits.
2023-04-01 21:30:42 -07:00
Takashi Kokubun
90cdc5b8ba RJIT: Let the caller of jit_push_frame handle stack_pop
because we want to do this way earlier for other types of calls.
2023-04-01 21:13:15 -07:00
Takashi Kokubun
28db75af66 RJIT: Check stackoverflow earlier for ISEQ 2023-04-01 21:03:10 -07:00
Takashi Kokubun
249fe18e8f RJIT: Remove unused counters 2023-04-01 17:24:45 -07:00
Takashi Kokubun
f42cf3fd1e RJIT: Migrate invokeblock to jit_call_iseq 2023-04-01 17:17:41 -07:00
Takashi Kokubun
cfea319772 RJIT: Migrate bmethod to jit_call_iseq 2023-04-01 17:03:45 -07:00
Takashi Kokubun
0973b93e49 RJIT: Start moving away from VM-like ISEQ handling 2023-04-01 16:56:05 -07:00
Takashi Kokubun
d71db90c68 Fix a test in typeprof
Revert "Skip typeprof for now"

This reverts commit bdbf663cef31e2194bf87ae5c11dfe5525316ca8.
2023-04-01 15:13:08 -07:00
Takashi Kokubun
bdbf663cef Skip typeprof for now
It started failing probably because ISEQ removed an unused field.
I'll have a look at fixing it on the typeprof side, but let me skip it
until it's fixed.
2023-04-01 11:04:53 -07:00
Takashi Kokubun
df1b007fbd Remove unused VM_CALL_BLOCKISEQ flag 2023-04-01 10:22:47 -07:00
Takashi Kokubun
175538e433 Improve explanation of FCALL and VCALL 2023-04-01 10:17:59 -07:00
Kazuki Tsujimoto
4ac8d11724
* in an array pattern should not be parsed as nil in ripper
After 6c0925ba7017efde6091e2ec4f1a6be268166696, it was impossible
to distinguish between the presence or absence of `*`.

    # Before the commit
    Ripper.sexp('0 in []')[1][0][2][1]  #=> [:aryptn, nil, nil, nil, nil]
    Ripper.sexp('0 in [*]')[1][0][2][1] #=> [:aryptn, nil, nil, [:var_field, nil], nil]

    # After the commit
    Ripper.sexp('0 in []')[1][0][2][1]  #=> [:aryptn, nil, nil, nil, nil]
    Ripper.sexp('0 in [*]')[1][0][2][1] #=> [:aryptn, nil, nil, nil, nil]

This commit reverts it.
2023-04-01 16:35:24 +09:00
Takashi Kokubun
3a238eff88 gdb: Fix a command example
It was actually harder to type `cfp + 1`. `cfp 1` also works and is more
useful.
2023-04-01 00:23:35 -07:00
Takashi Kokubun
a3074c1256 gdb: Fix specval
Somehow my gdb stopped recognizing VM_BLOCK_HANDLER_NONE (macro) today.
Just changing it to a safer code.
2023-04-01 00:19:43 -07:00
Takashi Kokubun
1da77539da gdb: Don't dump params and locals for C frames 2023-04-01 00:19:27 -07:00
Koichi Sasada
9720f5ac89 use sleep_forever() on thread_join_sleep()
because it does same thing.
2023-04-01 09:48:37 +09:00
Stan Lo
23892d95f5 [ruby/irb] Drop unnecessary pends for truffleruby
https://github.com/ruby/irb/commit/2517039812
2023-03-31 22:02:58 +00:00
Alan Wu
8938f146ab YJIT: Remove unused variable [ci skip] 2023-03-31 15:19:02 -04:00