| Age | Commit message (Collapse) | Author |
|
This reverts commit 33b9d2ab9f45a0c66665fb8dc40ddebd07c7b7b7.
|
|
This reverts commit d368d42ec6b50cece947556a2185ce73fa493bfe.
|
|
Same random SystemStackError as TestOpenURI and TestOpenURISSL.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When these instructions were introduced it was common to read from a
hash with mutable string literals. However, these days, I think these
instructions are fairly rare.
I tested this with the lobsters benchmark, and saw no difference in
speed. In order to be sure, I tracked down every use of this
instruction in the lobsters benchmark, and there were only 4 places
where it was used.
Additionally, this patch fixes a case where "chilled strings" should
emit a warning but they don't.
```ruby
class Foo
def self.[](x)= x.gsub!(/hello/, "hi")
end
Foo["hello world"]
```
Removing these instructions shows this warning:
```
> ./miniruby -vw test.rb
ruby 3.5.0dev (2025-08-25T21:36:50Z rm-opt_aref_with dca08e286c) +PRISM [arm64-darwin24]
test.rb:2: warning: literal string will be frozen in the future (run with --debug-frozen-string-literal for more information)
```
[Feature #21553]
|
|
This is my first contribution to ZJIT.
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Co-authored-by: Max Bernstein <ruby@bernsteinbear.com>
|
|
|
|
Failed at:
https://github.com/ruby/ruby/actions/runs/16737407508/job/47378992863
Partially reverting https://github.com/ruby/ruby/pull/14097
|
|
This can still hang:
https://github.com/ruby/ruby/actions/runs/16735509694/job/47373381258
partially reverting https://github.com/ruby/ruby/pull/14097
|
|
|
|
Previously, ARM64 panicked due to compiled_side_exits() when the memory
displacement got large enough to exceed the 9 bits limit. Usually, we split
these kind of memory operands, but compiled_side_exits() runs after
split.
Using scratch registers, implement `Insn::Store` on ARM such that it can
handle large displacements without split(). Do this for x86 as well, and
remove arch specific code from compiled_side_exits(). We can now run
`TestKeywordArguments`.
Since `Insn::Store` doesn't need splitting now, users enjoy lower
register pressure.
Downside is, using `Assembler::SCRATCH_REG` as a base register is now
sometimes an error, depending on whether `Insn::Store` also needs to
use the register. It seems a fair trade off since `SCRATCH_REG` is
not often used, and we don't put it as a base register anywhere at the
moment.
|
|
|
|
|
|
Use `fixnum_from_isize` instead of `fixnum_from_usize` in
`fold_fixnum_bop` to properly handle negative values. Casting negative
`i64` to `usize` produces large unsigned values that exceed `RUBY_FIXNUM_MAX`.
|
|
After several ZJIT fix PRs, the number of failing/crashing tests for
ZJIT has dropped significantly. This removes the unneeded test exclusions.
|
|
testing targets/docs (#13791)
* ZJIT: Add test exclusions for ZJIT
* ZJIT: Update test targets and documentation
- Rename `zjit-test-all` to `zjit-check`
- Add `zjit-test-all` target to zjit.mk to run all Ruby tests with ZJIT enabled
excluding known failing tests
- Update documentation and CI workflow to reflect the new targets
|