Age | Commit message (Collapse) | Author |
|
My previous pass missed these atomic operations using operators.
|
|
This only adds the rbimpl_ version to include/ruby/atomic.h so that it
is not a new public interface.
We were already using RUBY_ATOMIC_VALUE_LOAD in a few locations. This
will allow us to use other memory orders internally when desired.
|
|
|
|
|
|
"store" is the terminology the C11 standard uses, which allows us to use
this as a fallback.
This only changes the private rbimpl_ version of the method,
RUBY_ATOMIC_SET et al. keep the same name.
|
|
|
|
|
|
Also add a check in the bisect script that can assign blame to the HIR
optimizer.
|
|
* ZJIT: Avoid splitting add_into/sub_into
* Require add_into/sub_into to take a Reg
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is a temporary workaround.
|
|
This is a temporary workaround.
|
|
Add the s390x case using GitHub Actions ppc64le/s390x service.
https://github.com/IBM/actionspz
We can run the ppc64le/s390x cases only in the registered upstream repositories.
https://github.com/IBM/actionspz/blob/main/docs/FAQ.md#what-about-forked-repos
The following matrix upstream logic is to skip the ppc64le/s390x in the
downstream (fork) repositories.
```
+ upstream:
+ - ${{ github.repository == 'ruby/ruby' }}
```
Use the "os" list to determine the excluded ppc64le/s390x cases by using the
"exclude" syntax. Because the "exclude" syntax are executed before the
"include" syntax.
Add the ubuntu-24.04-ppc64le as a comment, because the GitHub Actions ppc64le
case has the following test errors and failures.
https://bugs.ruby-lang.org/issues/21534
|
|
NMake combines VPATH and stem with a backslash. The resulting source
name is embedded verbatim, backslash included, into the generated file
using the `#line` pragma (e.g., "src\gc.rb"). This causes the warning
"C4129: Unrecognized character escape sequence".
|
|
|
|
|
|
After commit 61fff8a, GC.config now returns the same hash for getting and
setting.
|
|
|
|
(https://github.com/ruby/stringio/pull/139)
https://github.com/ruby/stringio/commit/0edc8e22da
|
|
Rust PRs will have a failed CI step if they trigger any warnings.
This helps us stay on top of warnings from new Rust releases and
also ones we accidentally write.
Fix a typo for demo, since this only runs when Rust files are changed.
|
|
Saves the work of installing Rust for most jobs. Keep a job on each
platform that tests 1.85.0, the minimum supported version, though.
|
|
|
|
This tells RDoc to not automatically link to the `ZJIT` module so we
don't need to keep escaping the word ZJIT in the documentation/comments.
|
|
* ZJIT: Add --zjit-exec-mem-size
* Add a comment about the limit
|
|
Co-authored-by: Alexander Momchilov <alexander.momchilov@shopify.com>
|
|
|
|
Co-authored-by: Stan Lo <stan001212@gmail.com>
|
|
Co-authored-by: Max Bernstein <tekknolagi@gmail.com>
|
|
|
|
|
|
gc_config_set returned rb_gc_impl_config_get, but gc_config_get also added
the implementation key to the return value. This caused the return value
of GC.config to differ depending on whether the optional hash argument is
provided or not.
|
|
Add locations to struct `RNode_IN`.
memo:
```bash
> ruby -e 'case 1; in 2 then 3; end' --parser=prism --dump=parsetree
@ ProgramNode (location: (1,0)-(1,24))
+-- locals: []
+-- statements:
@ StatementsNode (location: (1,0)-(1,24))
+-- body: (length: 1)
+-- @ CaseMatchNode (location: (1,0)-(1,24))
+-- predicate:
| @ IntegerNode (location: (1,5)-(1,6))
| +-- IntegerBaseFlags: decimal
| +-- value: 1
+-- conditions: (length: 1)
| +-- @ InNode (location: (1,8)-(1,19))
| +-- pattern:
| | @ IntegerNode (location: (1,11)-(1,12))
| | +-- IntegerBaseFlags: decimal
| | +-- value: 2
| +-- statements:
| | @ StatementsNode (location: (1,18)-(1,19))
| | +-- body: (length: 1)
| | +-- @ IntegerNode (location: (1,18)-(1,19))
| | +-- IntegerBaseFlags: decimal
| | +-- value: 3
| +-- in_loc: (1,8)-(1,10) = "in"
| +-- then_loc: (1,13)-(1,17) = "then"
+-- else_clause: nil
+-- case_keyword_loc: (1,0)-(1,4) = "case"
+-- end_keyword_loc: (1,21)-(1,24) = "end"
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Because ruby/setup-ruby is affected to test result.
|
|
|
|
It is used in more steps than `sh`.
|