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

3289 Коммитов

Автор SHA1 Сообщение Дата
Yuta Saito 02c88477ce [wasm] tool/m4/ruby_wasm_tools.m4: Add default value for OBJCOPY
The tool is used to build shared libraries but system installed
tools usually don't support WebAssembly, so use WASI SDK's tools by default.
2024-02-06 01:08:18 +09:00
Nobuyoshi Nakada c0629a055a
Prefer `IO.popen` over `IO.foreach` with `|` 2024-02-02 10:42:53 +09:00
Nobuyoshi Nakada f22bec79fe
leaked-globals: More accurately extract checked function names 2024-02-02 10:42:53 +09:00
Naoto Ono a7ebe467a7 Add newline between end and def 2024-01-31 16:14:50 +09:00
Naoto Ono 45b53dd897 Add the ability to generate Launchable test reports 2024-01-31 16:14:50 +09:00
Nobuyoshi Nakada 4e72c9af87
rbinstall.rb: Fix a closing parenthesis [ci skip] 2024-01-30 23:45:43 +09:00
Nobuyoshi Nakada 64fa4c7587
rbinstall.rb: Show types to install in the help [ci skip] 2024-01-30 22:36:47 +09:00
yui-knk 70cb0a4dec Lrama v0.6.2 2024-01-27 11:51:27 +09:00
Soutaro Matsumoto b822f9f6fc
Bundle rbs-3.4.3 (#9702)
* Bundle rbs-3.4.3
* Remove rbs from `TEST_BUNDLED_GEMS_ALLOW_FAILURES` list
* Add the failing tests to `rbs_skip_tests`
2024-01-26 08:47:29 +09:00
Hiroshi SHIBATA a170f1859b
No longer needed to sync syslog 2024-01-24 10:44:18 +09:00
Takashi Kokubun 996776e936 Leave a comment about the limitation of Primitive
and adjust some code styling from that PR.
2024-01-23 14:39:37 -08:00
Takashi Kokubun c84237f953
Rewrite Array#each in Ruby using Primitive (#9533) 2024-01-23 20:09:57 +00:00
Takashi Kokubun 27c1dd8634
YJIT: Allow inlining ISEQ calls with a block (#9622)
* YJIT: Allow inlining ISEQ calls with a block

* Leave a TODO comment about u16 inline_block
2024-01-23 19:36:23 +00:00
Aaron Patterson 8c3eb47fff All btests are passing with Prism
We can remove the exclusion list now
2024-01-22 16:35:58 -08:00
Aaron Patterson f423ced5ab update tests 2024-01-22 16:02:41 -08:00
Matt Valentine-House d8af85ad14 [Prism] Uncomment tests that now pass 2024-01-22 15:15:32 -08:00
Aaron Patterson 7db6832225 Fix compiling rescue + ensure
When we're compiling begin / rescue / ensure nodes, we need to "wrap"
the code in the begin statements correctly.  The wrapping is like this:
(ensure code (rescue code (begin code)))

This patch pulls the each leg in to its own function, then calls the
appropriate wrapping function depending on whether there are ensure /
rescue legs.

Fixes: https://github.com/ruby/prism/issues/2221
2024-01-22 12:02:03 -08:00
Kevin Newton ee8f92673b Enable test_syntax.rb 2024-01-22 09:10:43 -05:00
Nobuyoshi Nakada d940e3b2c3 `cexpr!` must be up to one per line now 2024-01-22 19:39:34 +09:00
Nobuyoshi Nakada 127b19ab56 Use line numbers as builtin-index
The order of iseq may differ from the order of tokens, typically
`while`/`until` conditions are put after the body.

These orders can match by using line numbers as builtin-indexes, but
at the same time, it introduces the restriction that multiple `cexpr!`
and `cstmt!` cannot appear in the same line.

Another possible idea is to use `RubyVM::AbstractSyntaxTree` and
`node_id` instead of ripper, with making BASERUBY 3.1 or later.
2024-01-22 19:39:34 +09:00
Hiroshi SHIBATA 754e4e0c9c Stop sync csv repo 2024-01-22 18:23:05 +09:00
Hiroshi SHIBATA f869f2ecf1 Stop sync nkf repo 2024-01-22 14:17:52 +09:00
Hiroshi SHIBATA c44d15c639
Stop sync drb repo 2024-01-22 12:35:04 +09:00
Kevin Newton 99d6e2f1ee [PRISM] Revisit target nodes 2024-01-19 20:12:07 -05:00
eileencodes ed50161bd6 [PRISM] Fix ensure code running twice
Fixes: ruby/prism#2212
2024-01-19 13:04:01 -08:00
Hiroshi SHIBATA fa5094e183 Stop sync rinda repo 2024-01-19 20:02:19 +09:00
Hiroshi SHIBATA 31a5d4a0cd Skip test task for resolv-replace 2024-01-19 17:44:58 +09:00
Hiroshi SHIBATA 36095ed3db Removed sync task for resolv-replace 2024-01-19 17:44:58 +09:00
Hiroshi SHIBATA 11ec59c92b Removed sync task for abbrev 2024-01-19 16:27:45 +09:00
Hiroshi SHIBATA d3898e9752
Removed sync task for observer 2024-01-19 15:56:55 +09:00
David Rodríguez a8fa28ab80
Bump uri version used in development 2024-01-19 11:29:55 +09:00
Nobuyoshi Nakada 97721fa4e1
Old sh does not allow `:` in function names [ci skip] 2024-01-18 19:56:52 +09:00
Nobuyoshi Nakada 264b7363aa
Preserve spaces in messages [ci skip] 2024-01-18 18:09:42 +09:00
Nobuyoshi Nakada a3e6546e7e
Print error messages to the stderr [ci skip] 2024-01-18 16:36:09 +09:00
Kazuhiro NISHIYAMA 8370b3bc32
Add baseruby version message
Because `--with-baseruby=/usr/bin/ruby` on macOS is Ruby 2.6,
I was confused why `--with-baseruby` was ignored.
2024-01-18 08:40:16 +09:00
Hiroshi SHIBATA 4dde4d1437 Stop sync commits from bigdecimal repo 2024-01-18 07:44:13 +09:00
Kevin Newton b0a32b7249 [PRISM] Enable more btests 2024-01-17 15:04:01 -05:00
Nobuyoshi Nakada c68ce6f7f5
Skip checking for symbol leaks in libruby.so linking extensions
The libruby.so linking extension libraries contain symbols exported
from extension libraries, and is not subject of test-leaked-globals.
2024-01-17 19:37:56 +09:00
Takashi Kokubun e37a37e696 Drop obsoleted BUILTIN_ATTR_NO_GC attribute
The thing that has used this in the past was very buggy, and we've never
revisied it. Let's remove it until we need it again.
2024-01-16 17:27:53 -08:00
Hiroshi SHIBATA 6c016a4197 Inject base64 for basic auth examples of bundler 2024-01-17 08:28:31 +09:00
Hiroshi SHIBATA 42aa24a24c No longer needed to sync base64 2024-01-17 08:28:31 +09:00
Hiroshi SHIBATA 3f5016178c We don't need to sync getoptlong 2024-01-16 17:07:10 +09:00
Hiroshi SHIBATA c5d54e1db1
We don't need to sync mutex_m 2024-01-16 16:29:16 +09:00
yui-knk b92c8934a2 Lrama v0.6.1 2024-01-13 20:03:54 +09:00
Aaron Patterson 475663f039 Only intern constants upon compilation entry
Before this commit the Prism compiler would try to intern constants
every time it re-entered. This pool of constants is "constant" (there is
only one pool per parser instance), so we should do it only once: upon
the top level entry to the compiler.

This change does just that: it populates the interned constants once.

Fixes: https://github.com/ruby/prism/issues/2152
2024-01-12 14:53:14 -08:00
Aaron Patterson 2c27a3a0dd Fix splat assigns with no lefties
We still need to emit an expand array even if there's no "left side"
variables

Fixes: https://github.com/ruby/prism/issues/2153
2024-01-12 12:46:28 -08:00
Hiroshi SHIBATA 51ba654939
Set prerelease flag if tag includes preview or rc 2024-01-12 15:36:08 +09:00
Hiroshi SHIBATA 6a45320c25
Truncate only prefix. Don't remove v from like preview1 2024-01-12 14:56:04 +09:00
John Hawthorn 18573b8d05 Avoid reading unused lvars in Primitive.cexpr
Previously on builds with optimizations disabled, this could result in
an out of bounds read. When we had all of:
* built with -O0
* Leaf builtin
* Primitive.mandatory_only
* "no args builtin", called by vm_call_single_noarg_inline_builti
* The stack is escaped to the heap via binding or a proc

This is because mk_builtin_loader generated reads for all locals
regardless of whether they were used and in the case we generated a
mandatory_only iseq that would include more variables than were actually
available.

On optimized builds, the invalid accesses would be optimized away, and
this also was often unnoticed as the invalid access would just hit
another part of the stack unless it had been escaped to the heap.

The fix here is imperfect, as this could have false positives, but since
Primitive.cexpr! is only available within the cruby codebase itself
that's probably fine as a proper fix would be much more challenging (the
only false positives we found were in rjit.rb).

Fixes [Bug #20178]

Co-authored-by: Adam Hess <HParker@github.com>
2024-01-11 16:53:20 -08:00
Hiroshi SHIBATA b10aa7757e
Disable to add latest label when running with --no-dry-run option 2024-01-11 17:36:51 +09:00