aycabta
2b8fa78176
[ruby/reline] Support longer than screen height
...
https://github.com/ruby/reline/commit/e83a3de9ed
2020-12-17 20:14:59 +09:00
Nobuyoshi Nakada
9908177857
test/ruby: Check warning messages at a finer granularity
...
Instead of suppressing all warnings wholly in each test scripts by
setting `$VERBOSE` to `nil` in `setup` methods.
2020-12-17 20:06:18 +09:00
Yale Kozinski
d597d7a8b6
Fixing glitchy kill ring behavior in irb
...
See https://github.com/ruby/irb/issues/85 for details
2020-12-17 20:04:42 +09:00
Koichi Sasada
da3438a504
sync obj_to_id_tbl
...
objspace->obj_to_id_tbl is a shared table so we need to synchronize
it to access.
2020-12-17 18:13:40 +09:00
Koichi Sasada
7f11c8086a
reduce barrier counts for GC events
...
mark needs barrier (stop other ractors), but other GC events don't need
barriers (maybe...).
2020-12-17 18:13:26 +09:00
Koichi Sasada
99b9145380
relax synchronization on WB
...
Current synchronization is too much on write barriers.
2020-12-17 17:37:52 +09:00
Hiroshi SHIBATA
44fba194a5
ruby/pathname separated .rb file to top-level directory.
2020-12-17 17:24:51 +09:00
Koichi Sasada
c42948d784
add debug counters for gc start events
2020-12-17 17:03:05 +09:00
Koichi Sasada
9213771817
encourage inlining for vm_sendish()
...
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()
2020-12-17 16:53:41 +09:00
Takashi Kokubun
5d74894f2b
Lazily move PC with RUBY_VM_CHECK_INTS
...
```
$ 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
```
2020-12-16 23:06:28 -08:00
Takashi Kokubun
3b4d698e0b
Ignore catch_except_p for PC motion
...
We probably don't need to move it when an insn is leaf...
2020-12-16 22:17:46 -08:00
Hiroshi SHIBATA
a09c3c6fe1
expand VERSION path for ruby repository.
2020-12-17 14:37:45 +09:00
Hiroshi SHIBATA
46ea74297e
Bump version to json-2.4.1 and use VERSION file for json version same as upstream
2020-12-17 14:20:42 +09:00
d-m-u
ccf9da079f
fix doc typo
...
s/it's/its
2020-12-16 23:22:15 -05:00
Takashi Kokubun
d07183ec85
Do not access jit_unit if NULL
2020-12-16 19:43:43 -08:00
Koichi Sasada
93ba3ac036
RGENGC_PROFILE=0
...
Enabled this flag, maybe accidentally.
2020-12-17 03:46:44 +09:00
Koichi Sasada
2a3324fcd2
No sync on ASCII/US_ASCCII/UTF-8
...
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)
2020-12-17 03:44:23 +09:00
Koichi Sasada
c58142134c
make RB_DEBUG_COUNTER_INC()_thread-safe
2020-12-17 03:43:59 +09:00
Marc-Andre Lafortune
d5929b39a9
Make Ractor#receive_if private
2020-12-16 10:42:17 -05:00
Koichi Sasada
24f018972b
fix timing bug
...
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
2020-12-17 00:34:30 +09:00
git
84c9ebd65f
* 2020-12-17 [ci skip]
2020-12-17 00:31:09 +09:00
Koichi Sasada
b29c0fadec
add HAVE_RB_EXT_RACTOR_SAFE macro
...
define HAVE_RB_EXT_RACTOR_SAFE to check rb_ext_ractor_safe() is
available or not.
2020-12-17 00:29:48 +09:00
Takashi Kokubun
53babf35ef
Inline getconstant on JIT ( #3906 )
...
* Inline getconstant on JIT
* Support USE_MJIT=0
2020-12-16 06:24:07 -08:00
Kazuhiro NISHIYAMA
bfb374be23
Fix a typo [ci skip]
2020-12-16 23:03:23 +09:00
Nobuyoshi Nakada
9c859f4b3c
Ripper: Pass callback result to alias_error as well as other errors
...
[Bug #17345 ]
2020-12-16 22:53:43 +09:00
Nobuyoshi Nakada
47328ad217
Ripper: Fixed erred token on wrong alias [Bug #17345 ]
2020-12-16 21:08:33 +09:00
Nobuyoshi Nakada
359ad4423e
strip trailing spaces [ci skip]
2020-12-16 20:33:31 +09:00
Koichi Sasada
a9a7f4d8b8
Ractor#receive_if to receive only matched messages
...
Instead of Ractor.receive, Ractor.receive_if can provide a pattern
by a block and you can choose the receiving message.
[Feature #17378 ]
2020-12-16 19:12:48 +09:00
Nobuyoshi Nakada
ddb93c3d64
Made LARGEFILE_SUPPORT mandatory
2020-12-16 19:10:37 +09:00
Nobuyoshi Nakada
5193fbb6d0
Removed stale declaration
...
rb_w32_pipe_exec was removed in 1.9.3, at
commit:7ac32d7a16734ea66de15319bcff2fd429abae7f.
2020-12-16 19:10:37 +09:00
Nobuyoshi Nakada
8b32191a31
Ignore failure on unsupported fcntl to drop non-blocking mode
2020-12-16 17:54:43 +09:00
Nobuyoshi Nakada
4fe7f270ce
Different names instead of ulimit
2020-12-16 17:39:40 +09:00
Takashi Kokubun
5d8f227d0e
Lazily move units from active_units to stale_units
...
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
2020-12-16 00:22:50 -08:00
Koichi Sasada
0a52161872
fix Ractor#receive by other ractors
...
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).
2020-12-16 17:18:13 +09:00
Yusuke Endoh
c668772b14
test/ruby/test_enum.rb: Avoid "warning: assigned but unused variable"
2020-12-16 16:17:54 +09:00
David CARLIER
19157a3c00
vm debug: dump registers on ARM too. ( #3900 )
...
* vm debug: dump registers on ARM too.
2020-12-16 15:32:11 +09:00
Koichi Sasada
98dca85573
tuning vm_setivar_slowpath() more.
...
specify inline/noinline code for is_attr condition.
2020-12-16 14:20:20 +09:00
Kenta Murata
1bafb3cb47
[memory_view] Make MemoryView API Ractor-safe ( #3911 )
...
* 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
2020-12-16 13:43:56 +09:00
Koichi Sasada
1e11c12a06
remove unused function
2020-12-16 13:30:34 +09:00
Koichi Sasada
5499651ee7
tuning ivar set
...
* 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
2020-12-16 13:06:13 +09:00
Nobuyoshi Nakada
ad8e82f708
Fixed marshal compatibility of Process::Status
2020-12-16 12:31:40 +09:00
Nobuyoshi Nakada
b30d7fea56
Removed leading spaces [ci skip]
2020-12-16 12:14:30 +09:00
Hiroshi SHIBATA
cfefd1e524
Added entry for webrick changes at Ruby 3.0 to NEWS
2020-12-16 11:26:26 +09:00
Koichi Sasada
0b678cc9e5
add vm_sync debug counters
...
* vm_sync_lock
* vm_sync_lock_enter
* vm_sync_lock_enter_nb
* vm_sync_lock_enter_cr
* vm_sync_barrier
2020-12-16 10:38:12 +09:00
Koichi Sasada
171f0431e7
fix typo
2020-12-16 10:36:23 +09:00
Koichi Sasada
dff67c809f
fix duplicated name
2020-12-16 10:29:48 +09:00
卜部昌平
ccc828f499
configure.ac: avoid squashing CXX=g++
...
We are discussing this issue at [Bug #17337 ] but in the meantime, leave
this questionable autoconf glitch as-is to save sassc and eventmachine.
2020-12-16 08:47:49 +09:00
Marc-Andre Lafortune
8558d5e480
Document Hash#transform_keys with hash. Amend NEWS [DOC] [ci skip]
2020-12-15 17:09:01 -05:00
Marc-Andre Lafortune
d5f0d338c7
Optimize Enumerable#grep{_v}
...
[Bug #17030 ]
2020-12-15 12:54:45 -05:00
Nobuyoshi Nakada
a039dc018c
[DOC] Described "numeric representation" more precisely [ci skip]
...
[Bug #17395 ]
2020-12-16 00:07:37 +09:00