Age | Commit message (Collapse) | Author |
|
Instead of suppressing all warnings wholly in each test scripts by
setting `$VERBOSE` to `nil` in `setup` methods.
Notes:
Merged: https://github.com/ruby/ruby/pull/3925
Merged-By: nobu <nobu@ruby-lang.org>
|
|
See https://github.com/ruby/irb/issues/85 for details
Notes:
Merged: https://github.com/ruby/ruby/pull/3806
|
|
objspace->obj_to_id_tbl is a shared table so we need to synchronize
it to access.
Notes:
Merged: https://github.com/ruby/ruby/pull/3924
|
|
mark needs barrier (stop other ractors), but other GC events don't need
barriers (maybe...).
Notes:
Merged: https://github.com/ruby/ruby/pull/3923
|
|
Current synchronization is too much on write barriers.
Notes:
Merged: https://github.com/ruby/ruby/pull/3918
|
|
|
|
|
|
Some tunings.
* add `inline` for vm_sendish()
* pass enum instead of func ptr to vm_sendish()
* reorder initial order of `calling` struct.
* add ALWAYS_INLINE for vm_search_method_fastpath()
* call vm_search_method_fastpath() from vm_sendish()
Notes:
Merged: https://github.com/ruby/ruby/pull/3922
|
|
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-17T06:17:46Z master 3b4d698e0b) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-17T07:01:48Z master 843abb96f0) +JIT [x86_64-linux]
last_commit=Lazily move PC with RUBY_VM_CHECK_INTS
Calculating -------------------------------------
before --jit after --jit
Optcarrot Lan_Master.nes 80.29343646660429 83.15779723251525 fps
82.26755637885149 85.50197941326810
83.50682959728820 88.14657804306270
85.01236533133049 88.78201988978667
87.81799334561326 88.94841008936447
87.88228562393064 89.37925215601926
88.06695585889995 89.86143277214475
88.84730834922165 90.00773346420887
90.46317871213088 90.82603371104014
90.96308347148916 91.29797694822179
90.97945938504556 91.31086331868738
91.57127890154500 91.49949184318844
```
|
|
We probably don't need to move it when an insn is leaf...
|
|
|
|
upstream
|
|
s/it's/its
Notes:
Merged: https://github.com/ruby/ruby/pull/3920
|
|
|
|
Enabled this flag, maybe accidentally.
|
|
rb_enc_from_index(index) doesn't need locking if index specify
ASCII/US_ASCCII/UTF-8.
rb_enc_from_index() is called frequently so it has impact.
user system total real
r_parallel/miniruby 174 0.000209 0.000000 5.559872 ( 1.811501)
r_parallel/master_mini 175 0.000238 0.000000 12.664707 ( 3.523641)
(repeat x1000 `s.split(/,/)` where s = '0,,' * 1000)
Notes:
Merged: https://github.com/ruby/ruby/pull/3916
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3915
|
|
|
|
ractor_sleep() can remain wait.status by interrupt, so that this
patch handles more correctly.
This patch fixed this kind of assertion failures:
Assertion Failed: ../src/ractor.c:1332:ractor_yield_atexit:cr->sync.wait.status == wait_none
|
|
|
|
define HAVE_RB_EXT_RACTOR_SAFE to check rb_ext_ractor_safe() is
available or not.
|
|
* Inline getconstant on JIT
* Support USE_MJIT=0
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
|
|
[Bug #17345]
|
|
|
|
|
|
Instead of Ractor.receive, Ractor.receive_if can provide a pattern
by a block and you can choose the receiving message.
[Feature #17378]
Notes:
Merged: https://github.com/ruby/ruby/pull/3862
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3914
|
|
rb_w32_pipe_exec was removed in 1.9.3, at
commit:7ac32d7a16734ea66de15319bcff2fd429abae7f.
Notes:
Merged: https://github.com/ruby/ruby/pull/3914
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3913
|
|
|
|
to avoid SEGV like
http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3289588
by a race condition between mjit_recompile and compation around active_units
|
|
Ractor#receive can be called by the another Ractors using send,
so making this method completely same as `Ractor.receive` even if
the ractor is specified by the receiver (OO term :p).
|
|
|
|
* vm debug: dump registers on ARM too.
Notes:
Merged-By: nurse <naruse@airemix.jp>
|
|
specify inline/noinline code for is_attr condition.
|
|
* memory_view.c: make Ractor-safe
* test/ruby/test_memory_view.rb: Add test_ractor
* memory_view: fix typo
* memory_view.c: Use st_update in unregster_exported_object
* memory_view: update dependency
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
|
|
* make rb_init_iv_list() simple
* introduce vm_setivar_slowpath() for cache miss cases
../clean/miniruby is 647ee6f091.
Calculating -------------------------------------
./miniruby ../clean/miniruby ../ruby_2_7/miniruby
vm_ivar_init 7.388M 6.814M 5.771M i/s - 30.000M times in 4.060420s 4.402534s 5.198781s
vm_ivar_init_subclass 2.158M 2.147M 1.974M i/s - 3.000M times in 1.390328s 1.397587s 1.519951s
vm_ivar_set 128.607M 97.931M 140.668M i/s - 30.000M times in 0.233269s 0.306338s 0.213268s
vm_ivar 144.315M 151.722M 117.734M i/s - 30.000M times in 0.207879s 0.197730s 0.254811s
Comparison:
vm_ivar_init
./miniruby: 7388398.8 i/s
../clean/miniruby: 6814257.1 i/s - 1.08x slower
../ruby_2_7/miniruby: 5770583.9 i/s - 1.28x slower
vm_ivar_init_subclass
./miniruby: 2157763.6 i/s
../clean/miniruby: 2146557.0 i/s - 1.01x slower
../ruby_2_7/miniruby: 1973747.9 i/s - 1.09x slower
vm_ivar_set
../ruby_2_7/miniruby: 140668063.8 i/s
./miniruby: 128606912.1 i/s - 1.09x slower
../clean/miniruby: 97931027.8 i/s - 1.44x slower
vm_ivar
../clean/miniruby: 151722121.9 i/s
./miniruby: 144314526.5 i/s - 1.05x slower
../ruby_2_7/miniruby: 117734305.5 i/s - 1.29x slower
Notes:
Merged: https://github.com/ruby/ruby/pull/3912
|
|
|
|
|
|
|
|
* vm_sync_lock
* vm_sync_lock_enter
* vm_sync_lock_enter_nb
* vm_sync_lock_enter_cr
* vm_sync_barrier
Notes:
Merged: https://github.com/ruby/ruby/pull/3910
|
|
|
|
|
|
We are discussing this issue at [Bug #17337] but in the meantime, leave
this questionable autoconf glitch as-is to save sassc and eventmachine.
Notes:
Merged: https://github.com/ruby/ruby/pull/3907
|
|
|
|
[Bug #17030]
Notes:
Merged: https://github.com/ruby/ruby/pull/3868
|
|
[Bug #17395]
|
|
|