Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ jobs:
matrix:
include:
# Using the same setup as ZJIT jobs
- bench_opts: '--warmup=1 --bench=1'
- bench_opts: '--warmup=1 --bench=1 --excludes=lobsters'

runs-on: ubuntu-24.04

Expand Down Expand Up @@ -242,8 +242,10 @@ jobs:
repository: ruby/ruby-bench
path: ruby-bench

# If you want to skip failing benchmark, consider using `--excludes`.
# e.g. `bench_opts: '--warmup=1 --bench=1 --excludes=railsbench,lobsters'`
- name: Run ruby-bench
run: rm -rf benchmarks/lobsters && ruby run_benchmarks.rb -e "ruby::../build/install/bin/ruby" ${{ matrix.bench_opts }}
run: ruby run_benchmarks.rb -e "ruby::../build/install/bin/ruby" ${{ matrix.bench_opts }}
working-directory: ruby-bench

- uses: ./.github/actions/slack
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/zjit-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ jobs:
include:
# Test --call-threshold=2 with 2 iterations in total
- ruby_opts: '--zjit-call-threshold=2'
bench_opts: '--warmup=1 --bench=1'
bench_opts: '--warmup=1 --bench=1 --excludes=lobsters'
configure: '--enable-zjit=dev_nodebug' # --enable-zjit=dev is too slow

runs-on: macos-14
Expand Down Expand Up @@ -197,8 +197,10 @@ jobs:
repository: ruby/ruby-bench
path: ruby-bench

# If you want to skip failing benchmark, consider using `--excludes`.
# e.g. `bench_opts: '--warmup=1 --bench=1 --excludes=railsbench,lobsters'`
- name: Run ruby-bench
run: rm -rf benchmarks/lobsters && ruby run_benchmarks.rb -e "zjit::../build/install/bin/ruby ${{ matrix.ruby_opts }}" ${{ matrix.bench_opts }}
run: ruby run_benchmarks.rb -e "zjit::../build/install/bin/ruby ${{ matrix.ruby_opts }}" ${{ matrix.bench_opts }}
working-directory: ruby-bench

- uses: ./.github/actions/slack
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/zjit-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ jobs:
include:
# Test --call-threshold=2 with 2 iterations in total
- ruby_opts: '--zjit-call-threshold=2'
bench_opts: '--warmup=1 --bench=1'
bench_opts: '--warmup=1 --bench=1 --excludes=lobsters'
configure: '--enable-zjit=dev_nodebug' # --enable-zjit=dev is too slow

runs-on: ubuntu-24.04
Expand Down Expand Up @@ -250,8 +250,10 @@ jobs:
repository: ruby/ruby-bench
path: ruby-bench

# If you want to skip failing benchmark, consider using `--excludes`.
# e.g. `bench_opts: '--warmup=1 --bench=1 --excludes=railsbench,lobsters'`
- name: Run ruby-bench
run: rm -rf benchmarks/lobsters && ruby run_benchmarks.rb -e "zjit::../build/install/bin/ruby ${{ matrix.ruby_opts }}" ${{ matrix.bench_opts }}
run: ruby run_benchmarks.rb -e "zjit::../build/install/bin/ruby ${{ matrix.ruby_opts }}" ${{ matrix.bench_opts }}
working-directory: ruby-bench

- uses: ./.github/actions/slack
Expand Down
11 changes: 8 additions & 3 deletions compar.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,15 @@ cmp_gt(VALUE x, VALUE y)

/*
* call-seq:
* obj >= other -> true or false
* self >= other -> true or false
*
* Returns whether +self+ is "greater than or equal to" +other+;
* equivalent to <tt>(self <=> other) >= 0</tt>:
*
* 'food' >= 'foo' # => true
* 'foo' >= 'foo' # => true
* 'foo' >= 'food' # => false
*
* Compares two objects based on the receiver's <code><=></code>
* method, returning true if it returns a value greater than or equal to 0.
*/

static VALUE
Expand Down
5 changes: 5 additions & 0 deletions gc/mmtk/src/pinning_registry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,11 @@ impl GCWork<Ruby> for PinPinningChildren {
target_object
);
if pin {
debug_assert!(
target_object.get_forwarded_object().is_none(),
"Trying to pin {target_object} but has been moved"
);

pinned_objs.push(target_object);
}
target_object
Expand Down
5 changes: 2 additions & 3 deletions hash.c
Original file line number Diff line number Diff line change
Expand Up @@ -4950,10 +4950,9 @@ rb_hash_lt(VALUE hash, VALUE other)

/*
* call-seq:
* self >= other_hash -> true or false
* self >= other -> true or false
*
* Returns +true+ if the entries of +self+ are a superset of the entries of +other_hash+,
* +false+ otherwise:
* Returns whether the entries of +self+ are a superset of the entries of +other+:
*
* h0 = {foo: 0, bar: 1, baz: 2}
* h1 = {foo: 0, bar: 1}
Expand Down
9 changes: 5 additions & 4 deletions numeric.c
Original file line number Diff line number Diff line change
Expand Up @@ -1674,7 +1674,8 @@ rb_float_gt(VALUE x, VALUE y)
* call-seq:
* self >= other -> true or false
*
* Returns +true+ if +self+ is numerically greater than or equal to +other+:
* Returns whether the value of +self+ is greater than or equal to the value of +other+;
* +other+ must be numeric, but may not be Complex:
*
* 2.0 >= 1 # => true
* 2.0 >= 1.0 # => true
Expand Down Expand Up @@ -5001,10 +5002,10 @@ fix_ge(VALUE x, VALUE y)

/*
* call-seq:
* self >= real -> true or false
* self >= other -> true or false
*
* Returns +true+ if the value of +self+ is greater than or equal to
* that of +other+:
* Returns whether the value of +self+ is greater than or equal to the value of +other+;
* +other+ must be numeric, but may not be Complex:
*
* 1 >= 0 # => true
* 1 >= 1 # => true
Expand Down
11 changes: 6 additions & 5 deletions object.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ rb_obj_setup(VALUE obj, VALUE klass, VALUE type)
*
* Returns +true+ or +false+.
*
* Like Object#==, if +object+ is an instance of Object
* Like Object#==, if +other+ is an instance of \Object
* (and not an instance of one of its many subclasses).
*
* This method is commonly overridden by those subclasses,
Expand Down Expand Up @@ -1892,11 +1892,12 @@ rb_mod_freeze(VALUE mod)

/*
* call-seq:
* mod === obj -> true or false
* self === other -> true or false
*
* Case Equality---Returns <code>true</code> if <i>obj</i> is an
* instance of <i>mod</i> or an instance of one of <i>mod</i>'s descendants.
* Of limited use for modules, but can be used in <code>case</code> statements
* Returns whether +other+ is an instance of +self+,
* or is an instance of a subclass of +self+.
*
* Of limited use for modules, but can be used in +case+ statements
* to classify objects by class.
*/

Expand Down
5 changes: 2 additions & 3 deletions range.c
Original file line number Diff line number Diff line change
Expand Up @@ -2054,10 +2054,9 @@ VALUE rb_str_include_range_p(VALUE beg, VALUE end, VALUE val, VALUE exclusive);

/*
* call-seq:
* self === object -> true or false
* self === other -> true or false
*
* Returns +true+ if +object+ is between <tt>self.begin</tt> and <tt>self.end</tt>.
* +false+ otherwise:
* Returns whether +other+ is between <tt>self.begin</tt> and <tt>self.end</tt>:
*
* (1..4) === 2 # => true
* (1..4) === 5 # => false
Expand Down
4 changes: 2 additions & 2 deletions re.c
Original file line number Diff line number Diff line change
Expand Up @@ -3728,9 +3728,9 @@ rb_reg_match(VALUE re, VALUE str)

/*
* call-seq:
* regexp === string -> true or false
* self === other -> true or false
*
* Returns +true+ if +self+ finds a match in +string+:
* Returns whether +self+ finds a match in +other+:
*
* /^[a-z]*$/ === 'HELLO' # => false
* /^[A-Z]*$/ === 'HELLO' # => true
Expand Down
17 changes: 11 additions & 6 deletions tool/zjit_iongraph.html

Large diffs are not rendered by default.